HP Fortify on Demand HP Fortify on Demand User Guide FoD Release 3.2 Document Release Date: May 2014 HP Fortify on Demand (3.2) Page 1 HP Fortify on Demand 3.2 User Guide Legal Notices Software Release Date: May 2014 Legal Notices Warranty The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. The information contained herein is subject to change without notice. Restricted Rights Legend This is confidential computer software. A valid license from HP is required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Copyright Notice © Copyright 2014 Hewlett-Packard Development Company, L.P. Documentation Updates The title page of this document contains the following identifying information: l Software Version Number, which indicates the software version l Document Release Date, which changes each time the document is updated l Software Release Date, which indicates the release date of this version of the software HP Fortify on Demand (3.2) Page 2 HP Fortify on Demand 3.2 User Guide Preface Preface This guide describes how to use HP Fortify on Demand (FoD). Contacting HP Fortify If you have questions or comments about any part of this guide, contact HP Fortify in one of the following ways. Technical Support for Pronq 855.525.9252 [email protected] Corporate Headquarters Moffett Towers 1140 Enterprise Way Sunnyvale, CA 94089 650.358.5600 FoD Sales 650.409.1611 [email protected] Website http://www.hpenterprisesecurity.com HP Fortify on Demand (3.2) Page 3 HP Fortify on Demand 3.2 User Guide Contents Contents HP Fortify on Demand Legal Notices Warranty 1 2 2 Restricted Rights Legend 2 Copyright Notice 2 Documentation Updates Preface Contacting HP Fortify 2 3 3 Technical Support for Pronq 3 Corporate Headquarters 3 FoD Sales 3 Website 3 Contents Chapter 1: Overview of HP Fortify on Demand About HP Fortify on Demand Services About HP Fortify on Demand File Categories for Static Assessments About Analysis Files About Source Code Files 4 9 9 9 9 10 About Static, Dynamic, and Mobile Assessments 10 About Testing 10 About Remediation Assessments 10 About the HP Fortify Security Rating System About Fortify Priority Order 11 11 Critical 11 High 11 Medium 11 Low 11 Best Practices 11 Info 12 About Likelihood and Impact Likelihood HP Fortify on Demand (3.2) 12 12 Page 4 HP Fortify on Demand 3.2 User Guide Contents Impact 12 About the Fortify Five-Star Assessment Rating 12 About HP Fortify Terminology 13 Chapter 2: Static Assessments About Static Assessments 15 15 Preparing Files for Upload 15 Preparing Java Application Files 15 Preparing Analysis Files (Required) 15 Preparing Source Code Files (Optional, but recommended) 16 Reviewing Files Before Clicking Submit 16 Preparing .NET Application Files 16 Preparing Analysis Files (Required) 16 Pre-compiling ASP.NET Pages—Preferred Method: Using the aspnet_compiler.exe Tool 18 Using the aspnet_compiler.exe Tool to Pre-compile ASP.NET Pages 18 Preparing Analysis Files (Required) 19 Preparing Source Code Files (Optional, but recommended) 19 Reviewing Files Before Clicking Submit 20 Pre-compiling ASP.NET Pages—Alternate Method: Using an Ancillary Solution in Visual Studio 20 Using an Ancillary Solution in MS Visual Studio to Pre-compile ASP.NET Pages Preparing C and C++ Application Files in a Linux Environment 20 21 Setting Up 21 Translating 22 Packaging 22 Preparing C and C++ Applications in a Windows Environment 23 Setting Up 23 Translating 23 Packaging 23 HP Fortify on Demand (3.2) Page 5 HP Fortify on Demand 3.2 User Guide Contents Preparing COBOL Application Files 24 Preparing Analysis Files (Required) 24 Reviewing Files Before Clicking Submit 24 Preparing ColdFusion Markup Language (CFML) Application Files 25 Preparing Analysis Files (Required) 25 Reviewing Files Before Clicking Submit 25 Preparing Ruby or Ruby on Rails Application Files 25 Preparing Analysis Files (Required) 25 Reviewing Files Before Clicking Submit 25 Preparing Visual Basic 6 (VB6) Application Files 25 Preparing Analysis Files (Required) 25 Reviewing Files Before Clicking Submit 25 Preparing Python, Classic ASP, or PHP Application Files 26 Preparing Analysis Files (Required) 26 Reviewing Files Before Clicking Submit 26 Creating a PHP.ini File 26 Uploading Files to HP Fortify on Demand for Static Assessment Chapter 3: Dynamic Assessments About HP Fortify on Demand Service Levels for Dynamic Assessments 27 29 29 About Premium Dynamic Assessments 29 About Standard Dynamic Assessments 29 About Basic Dynamic Assessment 29 About Express Dynamic Assessments 29 Preparing for your HP Fortify on Demand Dynamic Assessment 30 Tips for Successful Dynamic Assessments 30 About Dynamic Testing Product Specifications 31 Initiating a First-Time Dynamic Assessment 31 About New Site Registration 32 Completing the Dynamic Set-Up Form 34 Submitting the Dynamic Set-Up Form 35 Changing a Dynamic Scan Request 38 HP Fortify on Demand (3.2) Page 6 HP Fortify on Demand 3.2 User Guide Contents About Subsequent Dynamic Assessments Submitting Applications for Follow-up Dynamic Testing 38 39 Subsequent Dynamic Testing Submissions: Method One 39 Subsequent Dynamic Testing Submissions: Method Two 39 Chapter 4: Mobile Assessments About HP Fortify on Demand Mobile Assessments 41 41 Express 41 Basic 41 Standard 41 Premium 41 About Mobile Uploads 42 About Recommended Browsers for Mobile Uploads 42 Beginning a Mobile Assessment 42 Preparing Android Project Files 42 Preparing iOS Application Files 43 Preparing BlackBerry Project Files 43 Preparing Windows Project Files 44 Creating a New Mobile Application for Assessment 44 Initiating a Mobile Assessment 47 About New Site Registration 48 Completing the Mobile Set-Up Form 48 Starting Your Scan 51 Chapter 5: Completing an Assessment About Completing the Assessment Process 55 55 Checking the Status of your Assessment 55 Communicating with the FoD Security Team 56 About When Your Assessment is Complete 57 HP Fortify on Demand (3.2) Page 7 HP Fortify on Demand 3.2 User Guide Contents HP Fortify on Demand (3.2) Page 8 of 58 HP Fortify on Demand 3.2 User Guide Chapter 1: Overview of HP Fortify on Demand Chapter 1: Overview of HP Fortify on Demand About HP Fortify on Demand Services HP Fortify on Demand (FoD) is a Software-as-a-Service (SaaS) solution enabling your organization to test the security of software quickly, accurately, affordably, and without the necessity of installing software to manage the process. FoD is available for static, dynamic, and mobile assessments, and we offer multiple options within each of those. You also have the option to purchase individual assessments or a one-year subscription for unlimited assessments of a particular application. About HP Fortify on Demand File Categories for Static Assessments When you use HP Fortify on Demand (FoD) to do a static assessment of your application, you must upload at least one zip file, which contains your analysis files. This zip file may or may not also contain source code files. For a static analysis to provide maximum value to you, it is best if the files you submit also contain debug compiled libraries and source code. The FoD static analyzer uses the debug compiled binaries to identify and isolate vulnerabilities. Because automated tools have the potential to over-report vulnerabilities, our auditors use your source code to do a manual confirmation of the validity of vulnerabilities. Your submitted zip should not contain additional compressed files, such as ZIP, TAR, or GZIP. The types of files to upload are: 1. Analysis files (required) 2. Source code files (optional, but strongly recommended) Also note that any code you submit for assessment must be fully deployable. This means, for example, that any .jar file must have executable code in it. About Analysis Files Analysis files are: A. The debug-compiled executable files produced by compiling your application’s source code files B. The executable library and resource files produced and delivered by third parties that are used by your application HP Fortify on Demand (3.2) Page 9 HP Fortify on Demand 3.2 User Guide Chapter 1: Overview of HP Fortify on Demand About Source Code Files Source code files are the text files you compile to produce the application files. To enhance the ability of HP Fortify on Demand to customize the assessment to your application, you may upload all the source code files used to produce the analysis files for HP Fortify on Demand. The purpose of analyzing an application with HP Fortify on Demand is to identify security issues in the executable files you created by compiling your application’s source code. In order to get complete and accurate assessment results you must upload all of your application’s files to HP Fortify on Demand. Whenever possible, it is best if you include debug built binaries. Debug build files enable FoD to provide the exact line numbers where vulnerabilities exist in your code. If we do not have your debug library, your report will refer only to file names. About Static, Dynamic, and Mobile Assessments In HP Fortify on Demand, you can upload files and initiate an assessment of your code for a static assessment. If you have purchased a dynamic assessment, you can test your URL, and if you are working in a mobile environment, you can have several different types of files analyzed. Detailed instructions for each assessment type are provided throughout this User Guide. About Testing Our expert team conducts a thorough audit of your application for security vulnerabilities. This includes at least two steps: l l Security Assessment: You provide HP Fortify on Demand with the analysis files, source code, or URL and external access for your application, and FoD performs automatic testing. Expert Review: Software security experts at HP Fortify on Demand manually review the results of our assessment to ensure the highest possible degree of accuracy. About Remediation Assessments All single assessment purchases include one remediation assessment, which can be performed within a 90-day window of the initial scan. For static assessments, FoD will reassess your code after you have remediated issues revealed by the initial scan. For dynamic assessments, FoD will recheck the vulnerabilities discovered during the initial assessment to ensure that they have been resolved. Note that releases are deleted from FoD after 90 days, so any remediation assessments must be performed within that time frame. HP Fortify on Demand (3.2) Page 10 HP Fortify on Demand 3.2 User Guide Chapter 1: Overview of HP Fortify on Demand About the HP Fortify Security Rating System Fortify on Demand, like all HP Fortify products, is designed to provide useful information about the vulnerability of your applications. To ensure that the results we give you are consistent, understandable, and actionable we have developed a set of reporting conventions, described in the following sections. About Fortify Priority Order HP Fortify has defined the following six levels of priority as a way to categorize the severity of vulnerabilities (also known as “issues”). Critical Critical issues are those that have both a high potential impact and a high likelihood of occurring. Critical issues are easy to detect and exploit, and they can result in significant damage to your assets. These issues should be remediated immediately. (SQL injection is an example of a critical issue.) High High-priority issues have the potential for high impact, but have a low likelihood of occurring. High-priority issues are often difficult for outsiders to detect and exploit, but they can result in large damage to your assets, so they represent a high security risk to an application. High priority issues should be remediated in your next scheduled patch release. (A hard-coded password is an example of a high-priority issue.) Medium Medium-priority issues have a low potential impact but a high likelihood. Medium-priority issues are easy to detect and exploit, but they typically result in small asset damage. These issues represent a moderate security risk to your application. Mediumpriority issues should be remediated in the next scheduled product update. (Path manipulation is an example of a medium issue.) Low Low-priority issues have low potential impact and a low likelihood of occurring. Lowpriority issues can be difficult for others to detect and exploit, and they typically result in small asset damage. These issues represent a minor security risk to your application. Low priority issues should be remediated as time allows. (Dead code is an example of a low issue.) Best Practices If you are notified that your application has “best practices” shortcomings, that means there are no significant vulnerabilities; just minor issues that may be less than ideal for applications of your type. HP Fortify on Demand (3.2) Page 11 HP Fortify on Demand 3.2 User Guide Chapter 1: Overview of HP Fortify on Demand Info “Info” is the lowest level of warning. HP Fortify may provide you with information about your application that does not represent a vulnerability but might be of interest for some reason. About Likelihood and Impact Likelihood Likelihood is the probability that a vulnerability will be identified by an outsider and successfully exploited. Impact Impact is the potential damage an attacker could do to your assets by successfully exploiting a vulnerability. This damage could be in the form of financial loss, compliance violation, loss of brand reputation, negative publicity, and more. About the Fortify Five-Star Assessment Rating A Fortify security assessment analyzes an application for a variety of software security vulnerabilities. The results of that assessment are communicated to you in a number of ways, including comprehensive onscreen details and a suite of customizable reports. The most efficient snapshot of your application’s safety, though, is the Fortify five-star rating system, which provides quick information on the likelihood and impact of defects present in your application. A perfect rating within this system would be five complete stars, indicating that no high-impact vulnerabilities were discovered. 1. A rating of one star means the application has critical vulnerabilities. Any application that gets scanned automatically gets at least one star. 2. Applications receive two stars if the security review identifies any vulnerabilities that either have a high likelihood of being exploited, or would have a high impact if they were (but not both). 3. A three-star rating means an application has only low- to medium-severity vulnerabilities. 4. Fortify awards four stars to applications with only low-severity vulnerabilities (even if those have a high likelihood of occurring). Note that vulnerabilities which have a low impact but are easy to exploit should be considered carefully, as they may pose a greater threat if an attacker exploits many of them as part of a concerted effort. 5. Five stars is Fortify’s highest rating, awarded only to applications that have undergone a Fortify security review that identified no vulnerabilities. HP Fortify on Demand (3.2) Page 12 HP Fortify on Demand 3.2 User Guide Chapter 1: Overview of HP Fortify on Demand About HP Fortify Terminology In an ongoing effort to make Fortify on Demand clear and accessible, and respond to customer feedback, we occasionally update terminology used in the program. Below are a few notes that we hope will help alleviate confusion: l Generally speaking, a project is the same thing as an application. l And an application is sometimes referred to as an app. l A release is the same as a project version. l A lookup is the same thing as an attribute. l An issue is another word for a vulnerability, or “vuln.” l An assessment is sometimes referred to as an analysis, a scan, or a test. l Fortify Priority Order is the same thing as Severity. Both terms refer to the hierarchy of seriousness among vulnerabilities (Critical, High, Medium, Low, Best Practices, Info). l Fixed is sometimes used as a synonym for remediated. l The person Assigned to an issue or application is the same as the Owner of it. l l l l l l l l l Assessments that used to have a status of Rejected are now referred to as Canceled. The area that used to be called Manage Users is now called Access. The attributes that used to be called Tenant Lookups are now Attributes with “Text” as their value type. Vendor Management replaces the former Shared Reports. To access this function, use the word Vendor in the Administration menu. A Ticket means a request for support. Sometimes it is called a Request. Within the Help Center, the terms Open and New mean a question is in the hands of the FoD team, in the process of being researched or resolved. The term Pending means that action is required from you or your company. A status of Pending for a test means the same thing as Waiting for a help ticket, which is: the FoD team is waiting for a response from you before it can proceed. A missing dependency means that code you submitted for analysis contains references to files not included in the payload. When the FoD software scans each line of your code, it looks for the source of each reference; if it does not find them, it flags a missing dependency. An operation (also called a method), is an action that a web service performs. For instance, one web service may have one WSDL that contains four operations. HP Fortify on Demand (3.2) Page 13 HP Fortify on Demand 3.2 User Guide Chapter 1: Overview of HP Fortify on Demand Those might be, for example, Update, Create, Delete, and Diagnostic. HP Fortify on Demand (3.2) Page 14 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments Chapter 2: Static Assessments About Static Assessments The first step in a static assessment is to prepare your code for upload to the Fortify on Demand portal. The preparation process differs depending on which programming language your application is in. The sections below, under Preparing Files for Upload explain the process for each type of code. Notes on file size: l The normal size limit for files, if you are uploading manually, using the procedures described in Preparing Files for Upload is 250 MB. l You may upload up to 75 MB of code using the instructions for any type of code. l If your file is larger than 75 MB, contact your TAM before uploading. l To remove the size limit altogether, you can use the Build Server Integration tool, called FodUpload.jar, which is explained below. Preparing Files for Upload In order to ensure an effective analysis of your application, we ask that you prepare your files as described in the following sections. Preparing Java Application Files For Java applications, package your analysis and source code files for upload to HP Fortify on Demand in a single zip file, as follows. Preparing Analysis Files (Required) Web application: Package in a .WAR or .EAR file. If you have multiple .WAR files, you can package them into a zip and call it a .EAR. (You cannot have .JAR files inside other .JAR files or .EAR files inside other .EAR files in the zip.) For example, your file structure may look like one of these: 1. Zip File EAR WAR JAR 2. Zip File WAR1 JAR WAR2 JAR HP Fortify on Demand (3.2) Page 15 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments l l l Non-web applications: Package in a single zip file. (HP Fortify on Demand cannot recursively process zip files contained within a zip package.) Ensure that there are no precompiled JSPs. Ensure that all JARs are included, including third-party JAR files. Ensure that all files are compiled in DEBUG mode. If they are not, the assessment will still run but the results will not include line-of-code details for each issue. Preparing Source Code Files (Optional, but recommended) To improve the quality of results, HP Fortify recommends that you upload all of your application’s source code files to HP Fortify on Demand. Package the application source code files together with your analysis files in a single zip package. If no source code is uploaded, HP Fortify auditors have nothing to look at and can only send back results; therefore, it is important that you send source code to be analyzed. Reviewing Files Before Clicking Submit l l Make sure you have resolved all warnings presented in the HP Fortify on Demand interface after upload. Select only JARs that are part of the application code. Do not select JARs that are part of third-party libraries. Preparing .NET Application Files For .NET applications, package analysis and source code files for upload to HP Fortify on Demand as follows. Preparing Analysis Files (Required) l l l l l l Rebuild the application in DEBUG mode to ensure that a .PDB file is produced. Only DLLs that are compiled in DEBUG mode will present filename and line number resolution in the results. Ensure that all ASP.NET pages are precompiled. See the section below, “Pre-compiling ASP.NET Files,” for guidance. Package the analysis files in a single zip file. HP Fortify on Demand cannot recursively process zip files contained within a zip package. Ensure that all DLLs are present in the upload. Also ensure that executables and .config files for web applications, websites, and other files produced during the deployment process are present in the upload file. Ensure that the associated .PDB files are included in the upload file. HP Fortify on Demand (3.2) Page 16 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments 7. Go back to FoD and navigate to the BSI page for your application: a. Click Applications. b. From the list that appears, click the name of your application. c. Click the icon in the bottom left part of the screen, called BSI. That brings you to the screen shown below. 8. Copy the binary URL. (Highlighted in red, below.) 9. Go to MS Visual Studio. 10. Paste the URL you have just copied into the plug-in’s BSI URL text box. HP Fortify on Demand (3.2) Page 17 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments 11. Check the box beside Save Package After Send. This saves a copy of your zip file on your local machine. The plug-in zips your application’s analysis files, along with any additional files you selected. By default, the plug-in packages both analysis (binary) files and source files. 12. If you want to include only binary files, check they box beside Binaries Only. In most cases, however, you will want to include source files a well as binaries, in order to get more complete results. Therefore, we recommend leaving Binaries Only unchecked. 13. Click Add Extra Files. A dialog box opens. Here, you can select additional files for inclusion in the upload zip file. These may be either source files or meta-data to assist in manual analysis. 14. Click Send. Pre-compiling ASP.NET Pages—Preferred Method: Using the aspnet_compiler.exe Tool There are two ways to prepare ASP.Net pages. The preferred method is to use the aspnet_compiler.exe tool. To do it that way, follow the instructions immediately below. For an alternative method, see Pre-compiling ASP.NET Pages—Alternate Method: Using an Ancillary Solution in Visual Studio. Using the aspnet_compiler.exe Tool to Pre-compile ASP.NET Pages 1. Make sure the debug attribute of the compilation tag is set to true; that is, HP Fortify on Demand (3.2) Page 18 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments <compilation debug=true /> in your web.config. 2. Locate the aspnet_compiler.exe, which can be found in the %SYSTEMROOT%\Microsoft.NET\Framework\<version> directory. 3. Open the command prompt with administrator privileges (right-click Command Prompt and choose Run as Administrator), and then run the asp_netcompiler.exe with the following options: l >aspnet_compiler.exe -v <virtualPath> -p <physicalPath> -c -d -f <targetDir> l <virtualPath>: Specifies the virtual path of the application to be compiled. l <physicalPath>: Specifies the full path of the root directory that contains the application to be compiled. l <targetDir>: The full path to the root directory that will contain the com- piled application. 4. Once the compilation is complete, check the <targetDir> to make sure that both dll and pdb files are present. The file names should be something like App_Web_ xxxx.dll and App_Web_xxxx.pdb. Package all .dll and .pdb files along with the other .dll and .pdb files from your application as a single zip file. Note: If any file fails compilation, the entire site fails compilation. Reference: http://msdn.microsoft.com/en-us/library/ms229863(v=VS.100).aspx You can verify that all your .aspx/.ascx files have been precompiled by opening the generated App_Web_xxxx.dll file using the ildasm.exe program from the .NET Framework installation. This can generally be found in the directory called C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin. After loading the file, look for a _ASP and ASP namespace. Under that, you should see the .aspx files. Make sure that all are present (this can span multiple files), and include all of them in the payload (both the .dll and .pdb files). To view a video about ASP.NET precompilation, go to: http://www.asp.net/web-forms/videos/how-do-i/how-do-i-precompile-an-aspnet-website Preparing Analysis Files (Required) To ensure that HP Fortify on Demand can resolve “Include” and “Library” files, ensure that the directory structure in the zip file matches the deployment directory structure. Preparing Source Code Files (Optional, but recommended) To improve the quality of results, HP Fortify recommends that you upload all of your application’s source code files to FoD. To do this, include the application's source code files in the zip file you are submitting to FoD, along with your other files. HP Fortify on Demand (3.2) Page 19 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments If no source code is uploaded, HP Fortify auditors have nothing to look at and can only send back results; therefore, it is important that you send source code to be analyzed. Reviewing Files Before Clicking Submit Make sure you resolve any warnings that appear in the HP Fortify on Demand interface after upload. Note: If the web.config is wrong, then you will see errors. For example, you cannot have a site under (that is, subordinate to) another site. Pre-compiling ASP.NET Pages—Alternate Method: Using an Ancillary Solution in Visual Studio There are two ways to prepare ASP.NET pages. For the preferred method, see Precompiling ASP.NET Pages—Preferred Method: Using the aspnet_compiler.exe Tool. For the alternative method, follow the instructions below. Using an Ancillary Solution in MS Visual Studio to Pre-compile ASP.NET Pages 1. Clear out any old files. To do this: a. Close any running instances of Visual Studio. Visual Studio precompiles the ASP.NET pages of each of your website applications to a directory named Temporary ASP.NET Files. b. In order to clear out potentially outdated files, delete: SYSTEMROOT%\Microsoft.NET\Framework\<version>\Temporary ASP.NET Files <version>: For .NET 1.1 applications, fill <version> in with v1.1.xxxx. For .NET 2.0/3.0/3.5 applications, fill it in with v2.0.xxxx. (In either case, replace xxxx with the actual digits found on your system.) 2. Create an ancillary solution to hold website applications. To do this: a. Create an empty solution. (MS Visual Studio precompiles the website applications of your original solution as part of the solution build. Visual Studio will not do the same for your web applications, so you must create website applications for each of them and add them to this empty solution.) b. Set the solution configuration of the empty solution you just created to debug. c. Repeat for each web application inside your original solution: HP Fortify on Demand (3.2) Page 20 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments n In Solution Explorer, right-click your solution and select Add -> Existing Web Site.... n In the Add Existing Application pop-up, navigate to the directory of your web application and click Open. n Once the website application has been added, make sure that inside web.config you have <compilation debug="true"/>. (You may have other attributes or even sub-elements. Just make sure that debug is set to true.) 1. Repeat for each website application inside your original solution (for which you did not have to create a new application in the ancillary solution). Ensure that, in web.config, the debug attribute of the compilation tag is set to true; that is: <compilation debug="true"/> 2. Make sure that debug information is omitted as part of the precompilation. 3. Perform precompilation and add the precompilation output to the upload archive(s). a. Rebuild both your original solution and the solution that you created while following these steps. b. After precompilation, each website application ends up with its own folder inside the Temporary ASP.NET Files directory containing precompilation output. For each website application, package the contents of its folder alongside the other items in its output folder. Preparing C and C++ Application Files in a Linux Environment HP Fortify on Demand offers a Remote C/C++ Translator, which simplifies the packaging and processing of C/C++ source code for analysis by FoD. If you install this translator utility, you no longer need to manually package and deliver all the files necessary to submit your application for analysis by Fortify on Demand. Setting Up To set up the translator utility: 1. Obtain the FoD Remote C/C++ Translator from your Technical Account Manager (TAM). 2. Copy the archive to your Linux build machine. 3. Extract the translator. (The bundle is a Gzipped tarball.) 4. Make a note of the path to the translator (sourceanalyzer). HP Fortify on Demand (3.2) Page 21 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments Translating 1. Change the directory to your normal build directory. 2. Execute the sourceanalyzer command as follows, substituting your build script (or make) for “build_command”: /path_to_translator/sourceanalyzer -b fod_remote touchless build_command Example: ~/fod_remote/bin/sourceanalyzer -b fod_remote touchless make all 3. Verify that the project builds correctly. 4. Make sure the name of your build session is exactly the same as the name of your build. Packaging Option 1:(Recommended) Mobile Build Session A mobile build session lets you translate a project on one machine and analyze it on another. When you create a mobile build session, a .mbs file that includes the files needed for the analysis phase is created in the build session directory. The .mbs file is then moved to a different machine for analysis. To do this: 1. On the machine where the translation was done, issue the following command to generate a mobile build session: sourceanalyzer -b <build-id> -export-build-session <file.mbs> where <file.mbs> is the file name you assign for the mobile build session. Option 2: Workaround Use Option 2 if your export fails, but the build and translation works. Note: If you begin Option 2 and run into any difficulties, please file a ticket through the FoD Help Center. We may be able to save you some time if we know what problems you experience. 1. Copy the FoD_remote build directory to a working directory. The build directory is located here: ~/.fortify/sca5.12/build/fod_remote Example: cp -R ~/.fortify/sca<<highestversion>>/build/fod_remote ~/work/ 2. Copy the source code into the work directory. 3. At this point, the work directory should look as follows: /work HP Fortify on Demand (3.2) Page 22 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments fod_remote src 4. Zip the work directory and submit it to Fortify on Demand. Be sure to use technology stack payload type: .mbs. Preparing C and C++ Applications in a Windows Environment HP Fortify on Demand offers a Remote C/C++ Translator, which simplifies the packaging and processing of C/C++ source code for analysis by FoD. If you install this translator utility, you no longer need to manually package and deliver all the files necessary to submit your application for analysis by Fortify on Demand. Setting Up To set up the translator utility: 1. Obtain the FoD Remote C/C++ Translator from your Technical Account Manager (TAM). 2. Copy the archive to your Windows build machine. 3. Extract the translator. (The bundle is a Gzipped tarball.) 4. Make a note of the path to the translator (sourceanalyzer). Translating 1. Change the directory to your normal build directory. 2. Execute the sourceanalyzer command as follows, substituting your build script (or make) for “build_command”: /path_to_translator/sourceanalyzer -b fod_remote touchless build_command Example: ~/fod_remote/bin/sourceanalyzer -b fod_remote touchless make all 3. Verify that the project builds correctly. 4. Make sure the name of your build session is exactly the same as the name of your build. Packaging Option 1: (Recommended) Mobile Build Session A mobile build session lets you translate a project on one machine and analyze it on another. When you create a mobile build session, a .mbs file that includes the files needed for the analysis phase is created in the build session directory. The .mbs file is then moved to a different machine for analysis. To do this: 1. On the machine where the translation was done, issue the following command to generate a mobile build session: HP Fortify on Demand (3.2) Page 23 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments sourceanalyzer -b <build-id> -export-build-session <file.mbs> where <file.mbs> is the file name you assign for the mobile build session. Option 2: Workaround Use Option 2 if your export fails, but the build and translation works. Note: If you begin Option 2 and run into any difficulties, please file a ticket through the FoD Help Center. We may be able to save you some time if we know what problems you experience. 1. Copy the FoD_remote build directory to a working directory. The build directory is located here: %LOCALAPPDATA%\Fortify\sca<<highestversion>>\build\fod_remote Example: cp -R C:\Users\exampleuser\AppData\Local\Fortify\sca<<highestversion>>\fod_ remote C:\Users\exampleuser\work 2. Copy the source code into the work directory. 3. At this point, the work directory should look as follows: /work fod_remote src 4. Zip the work directory and submit it to Fortify on Demand. Be sure to use technology stack payload type: .mbs. Preparing COBOL Application Files For COBOL applications, package your source code files for upload to HP Fortify on Demand as follows. Preparing Analysis Files (Required) Prepare a single zip file that includes both the source code for your application and the copy books. In the Upload Files for Analysis wizard, you will be asked to upload this in the section called Files for Analysis. Reviewing Files Before Clicking Submit Ensure that all warnings presented in the HP Fortify on Demand interface after upload are resolved. HP Fortify on Demand (3.2) Page 24 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments Preparing ColdFusion Markup Language (CFML) Application Files For CFML applications, package the application and source code files for upload to HP Fortify on Demand as follows. Preparing Analysis Files (Required) Prepare one zip file containing the source code files of your application. In the Upload Files for Analysis wizard, you will be asked to upload it into the Files for Analysis section. Reviewing Files Before Clicking Submit Ensure that all warnings presented in the HP Fortify on Demand interface after upload are resolved. Preparing Ruby or Ruby on Rails Application Files For applications create in either Ruby or Ruby on Rails, package your application and source code files for upload to HP Fortify on Demand as follows. Preparing Analysis Files (Required) Prepare one zip file containing your entire application, as it would be deployed, and include all source code. In the Upload Files for Analysis wizard, you will be asked to upload this into the Files for Analysis section. Reviewing Files Before Clicking Submit Ensure that all warnings presented in the HP Fortify on Demand interface after upload are resolved. Preparing Visual Basic 6 (VB6) Application Files For VB6 applications, package your application and source code files for upload to HP Fortify on Demand as follows. Preparing Analysis Files (Required) Prepare one zip file containing the source code files of your application. In the Upload Files for Analysis wizard, you will be asked to upload it into the Files for Analysis section. Reviewing Files Before Clicking Submit Ensure that all warnings presented in the HP Fortify on Demand interface after upload are resolved. HP Fortify on Demand (3.2) Page 25 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments Preparing Python, Classic ASP, or PHP Application Files For Python, Classic ASP, or PHP applications, package the application and source code files for upload to HP Fortify on Demand as follows. Preparing Analysis Files (Required) Prepare one zip file containing the source code files of your application. In the Upload Files for Analysis wizard, you will be asked to upload it into the Files for Analysis section. If yours is a PHP application file, make sure to include your php.ini file with your package. This file helps HP Fortify on Demand identify where dependencies reside, and helps improve the accuracy of results. Reviewing Files Before Clicking Submit Make sure you resolve any warnings that appear in the HP Fortify on Demand interface after upload. Note: The only version of Python fully supported by HP Fortify at this time is 2.6. If you have another version of Python, please speak with your TAM about options. Creating a PHP.ini File A php.ini file is a configuration file that a server looks at to see what options have been turned on or off, or set to a number different from the defaults you have set for the server. It's simply a text file with the name php.ini. You can construct a custom php.ini file and place it in your web account. You can create a php.ini file using any text editor. To create a php.ini file, open a text editor, (such as Microsoft Notepad), add the lines you need, and save the file. You can name the file anything you want. After you have saved it, upload the file to the directory where your script is located, and then rename it php.ini. Once again, you create a php.ini file with custom settings that will override the default server settings. For example, you can turn off the php setting "file_uploads" or "magic_quotes_gpc" with these lines in php.ini: file_uploads = off magic_quotes_gpc = no Your php.ini file should contain only the custom settings, each on its own line as in the above example. To see a list and description of the directive settings that can be set in a custom php.ini file (where value = 1, sets value in php.ini to ON; where value = 0, sets value in php.ini to OFF) click this link: http://php.net/manual/en/ini.core.php HP Fortify on Demand (3.2) Page 26 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments Uploading Files to HP Fortify on Demand for Static Assessment Once you have prepared your files properly, as described in one of the sections above, you are ready to upload them to Fortify on Demand. The steps to do that are as follows. 1. On your system, find the analysis files to be uploaded. These are the application files in either .jar or .ear format; or, if yours is a web application, packaged in a .war 2. Create one zip file that includes all files to be submitted to FoD. This should include both application files and source files. HP Fortify on Demand (3.2) Page 27 HP Fortify on Demand 3.2 User Guide Chapter 2: Static Assessments 3. In this case, your zip file would include the .java files from the src directory. HP Fortify on Demand (3.2) Page 28 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments Chapter 3: Dynamic Assessments About HP Fortify on Demand Service Levels for Dynamic Assessments An HP Fortify on Demand dynamic assessment tests your website for vulnerabilities. For your dynamic assessment, you can choose among four testing levels: Premium, Standard, Basic, or Express. A description of these is below. About Premium Dynamic Assessments Appropriate for business-critical applications; any applications that host proprietary data or contain financial data, PII, or other sensitive information; and applications that perform financial transactions. This is also the right choice for applications that have rigorous compliance requirements, and/or multi-step, form-based processes. l Begins with expert use of HP Fortify’s security scanner, WebInspect l Includes extensive manual testing l Includes testing for both technical and business logic vulnerabilities l Results are manually reviewed by website security experts who examine account structures and contextual logic in web applications to remove false positives and assure quality results About Standard Dynamic Assessments An automated and manual solution for websites that are a regular feature of your customers’ online experience and have multi-step, form-based processes, but are not necessarily business-critical. l Includes testing for technical vulnerabilities l Includes the use of multiple automated and manual testing solutions l Results are manually reviewed by security experts to remove any false positives and assure quality results About Basic Dynamic Assessment An automated solution for websites that are seasonal or temporary in nature. l l Includes an assessment via WebInspect’s security scanner All results are manually reviewed by security experts to remove false positives and assure quality results About Express Dynamic Assessments Appropriate for companies with a large number of websites who need to do fast, efficient testing for the most serious and prevalent vulnerabilities. Express assessments can be a good first step, to help you identify applications that require more in-depth HP Fortify on Demand (3.2) Page 29 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments assessments. Express assessments are also recommended for websites you update frequently; since they recur at regular intervals they can alert you to new threats that arise over time. l Tests only for cross-site scripting errors, SQL injection errors, and a limited list of other highly prevalent issues l Tests unauthenticated pages only l Includes expert use of HP Fortify’s security scanner, WebInspect l Recurs at regular intervals of your choosing (weekly, monthly, or quarterly) Preparing for your HP Fortify on Demand Dynamic Assessment For all assessments, you must confirm that your web application and user credentials are functioning before you initiate security testing. In addition, you should complete all functional and performance testing beforehand and make sure to freeze your application’s code for the duration of the security test engagement. As a standard precaution, we recommend that you back up all of your data before beginning the testing process. We also recommend that, when testing is complete, you restore your data from a backup which you know to be good, to avoid any chance of data corruption. Note that you do not need to open any additional ports in order to begin your assessment. As long as your website is accessible through the http/https default ports (80/443), that is sufficient. Tips for Successful Dynamic Assessments Many users run premium dynamic assessments on applications that are hosted within their company’s network(s). These internal applications are usually in development, QA, or pre-production environments which are not generally exposed on the internet. However, most companies do not want to run an assessment of their publicly facing production websites, because of the risks associated with dynamic scanning. Therefore, to plan effectively for an assessment of an internal application, we recommend: l l Deliver all information requested by the audit team in advance of the planned start date for your assessment. Budget the time appropriately. Assume you will need three weeks for the test window. HP Fortify on Demand (3.2) Page 30 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments l l l l o The first week is used by the FoD team to ensure that they have all necessary access to your application. This includes configuring firewall rules to allow tester IP’s access to your application, implementing and debugging a VPN, and verifying your account credentials. o The actual scanning of your application happens in the second week. A premium scan usually takes a full business week, assuming no interruptions. o The third week is a buffer in case something requires additional attention. (This could be because of accessibility issues, credentials lock-out, an accidental block of the audit by your security team, hardware problems anywhere in the process, or other unexpected issues.) Assume that your assessment will identify vulnerabilities that need remediation, and that you will then want to retest the application before your site goes live. A retest usually requires about two additional weeks. Ensure that all your teams know no changes should be made to the test environment while security testing is going on. Neither code nor data can be altered during the course of the assessment. This code freeze must be in effect throughout all of week two (and typically part of week three as well). Ensure that you have everything possible prepared well in advance. Set up all your test accounts (multiple sets) and inform your development and security teams. If your application is not internal, most of the same guidelines still apply. You may not need three weeks, but be sure to budget at least two. About Dynamic Testing Product Specifications For dynamic testing, an application is defined as a fully qualified domain name with one host name, one user type, and one user access level. A premium assessment should have two user access levels: one low-privileged user and one high-privileged user. Initiating a First-Time Dynamic Assessment Before you initiate your assessment, please make sure your application is fully accessible by an external entity. We require access and authentication to the application in order to perform a dynamic assessment. If at any point that access is not present, the assessment stops until access can be granted or restored. We cannot meet a five-day estimated turnaround on assessments without full undisturbed access to a stable application. HP Fortify on Demand (3.2) Page 31 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments Before you begin a dynamic assessment, you must create an application and at least one release. For each new URL, you need a new application. For information on how to create applications and releases within FoD, see Creating New Applications. To begin your assessment of a given release: 1. At the top of your screen, click Applications. A new screen appears, with a list of all your applications. 2. Find the application you wish to assess, go to the first column on the left, and click the green bar labeled Start Scan. A brief new menu appears, with the choice of Static or Dynamic. 3. Click Dynamic. If this is the first time you are submitting this application for assessment, you will be directed to the Setup Dynamic Scans form. About New Site Registration When you begin a dynamic assessment of a new application, you begin by supplying detailed information about your application to the FoD testing team through the online form, which is titled Setup Dynamic Scans. HP Fortify on Demand (3.2) Page 32 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments Notes: l l l l This online form replaces the former New Site Registration Form. You no longer need to fill out that information on paper, as the online form collects the same information. The Setup Dynamic Scan form must be completed only for new applications, and some new releases, being submitted to FoD for the first time. Subsequent tests of the same data or URL bypass this step. If you are submitting a new release, but that release is associated with an application that has already been tested, and you created your new release using “Copy Release Data," you will not have to go through this registration process again. When you register an application for the first time the information required may seem lengthy. However, you do not have to complete the form all at once: you may stop and start without losing data. l A red star beside any field means a response is required. l If you have any difficulty completing the form, contact your TAM. HP Fortify on Demand (3.2) Page 33 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments Completing the Dynamic Set-Up Form The information you will need to complete the online form is as follows: a. Your site’s URL b. Assessment Type (Basic, Standard, Premium, or Remediation) c. Geolocation: Select from a menu of countries d. Environment Type: Production, Development, or QA e. Environment Facing: Internal or External f. Exclusions: Any URLs within your website which you do not want to test Note: By default, FoD does not test URLs that are located outside your application’s domain. However, it is still safest to list such URLs here if you are aware of any embedded in your site. Also note: If you do request that FoD test a URL belonging to another vendor, it is your responsibility to ensure that you have the owner’s consent before submitting it. g. Web Services Location (for Premium assessments only): The exact URL of your WSDL file. h. Site availability: Specify when your application is available for testing. Use the local time in the time zone you specified on this page. By default, all boxes are checked, which means FoD may test your application any time, without restrictions. To alter that, start by unchecking the box beside a day of the week. Any time the All Day box beside a day is checked, that means your application is available any time that day. For example, you cannot check Sunday and then uncheck certain hours on Sunday. To indicate that your app is available at some times on Sunday, but not all: first, uncheck the All Day box, and then add checkmarks beside any hours that day when the app is available. i. Repeat frequency: If this is a one-time scan, leave the menu on “Do not repeat.” If you would like to set up automatic re-scans of this application on a periodic basis, use this menu to select the frequency. j. Time zone: Select the time zone where your application is located. k. Authentication: Select the option that is true for your site: No authentication, Generate unique authentication, or Authentication required. HP Fortify on Demand (3.2) Page 34 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments If authentication is required, enter user names and passwords for at least two users. Note: If you would like to enter more credentials than this space allows, list them in the Additional Notes box at the bottom of this form. l. VPN Required: If yes, put a check in the box. Then fill in the VPN User Name and Password. If you do not wish to require a VPN, leave the box blank. m. Multi-factor Authentication: Click yes or no. If yes, provide more information in the box below. n. External Devices: Check the boxes if you have any of these: IDS, IPS, WAF, Proxy servers, and/or a Load Balancer. o. Upload Documents: If you would like to attach any documents relevant to your application that may be useful to the FoD testers, you can do that here. Click Choose File to browse to the document you want to attach. Then click Upload. Note that only files with the following extensions can be attached here: .doc, .docx, .ppt, .txt, .pdf, .pptx. p. Additional Notes: At the bottom of the final page is a box for you to add any more information you want the FoD testing team to know about before they begin your dynamic assessment. q. Request for call: If you would like to speak to a TAM or other FoD personnel before your assessment begins, check the final box here to request a conference call. Submitting the Dynamic Set-Up Form If you need to pause before all the information is complete, click Save in the upperright corner of the form. 1. When the form is complete and ready for submission, click Start Scan. If anything in your form is incomplete or invalid, you will see the word Incomplete in the upper-right corner, and an explanation of the issue will appear near the upper left. In the example below, the problem is that we checked Authentication Required and then did not list any user names or passwords for authentication. HP Fortify on Demand (3.2) Page 35 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments This can be remedied either by selecting No Authentication or by entering user credentials. When all information is complete and useable, the status at the top changes to Valid. 2. If necessary, click Save again, after correcting any errors. 3. When you see the word Valid, you may then click Start Scan. A pop-up appears, with the heading Start Dynamic Scan. The URL to be tested appears, followed by a small box with the current date and time. 3. Click inside the date and time box. A calendar appears. HP Fortify on Demand (3.2) Page 36 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments 4. Select the date and time you would like your assessment to begin. 5. Click Done. 6. Click Next. A new box appears, headed Start Dynamic Scan. This box shows a summary of the information you have entered on the Setup Dynamic Scans form. 7. If all information here is correct, click Start Scan. 8. If anything is not correct, click Back and change your answers on previous screens. Your assessment will begin at one of the times you selected when you filled out the form. If you schedule recurring assessments, this release will be scanned again at the intervals you defined until such time as you return to the Setup Dynamic Scans form and change your request. Once your Dynamic Scan Set-up Form has been submitted, with a specific date and time requested, the status for your assessment changes to Scheduled. This status also shows up in the list on the main Applications page. HP Fortify on Demand (3.2) Page 37 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments Your dynamic assessment will be completed approximately five business days after the date you scheduled it, if access to the application has been properly documented and granted. Note: If you have restrictions about the time of day for your assessment, this could have a significant effect on the turnaround time. For example, you can expect a potential doubling of the testing window if you restrict the testing times to half the day. If you have any questions about this, please contact your TAM. Changing a Dynamic Scan Request As soon as you click Start Scan to submit your application for a dynamic assessment, your information is transferred immediately to the FoD testing team. Important Note: If you then return to the form to change the schedule or any other details about your request, that information will not be transmitted to the testing team. If you need to make a change after you have submitted a request: 1. Click Help Center. 2. Click Submit a Ticket. 3. Enter your request on the form that appears there. If the testing team has any questions for you after receiving that request, they will respond directly to the ticket. Note, also, that you are free to go back to your original Setup Dynamic Scan form at any time. Any changes you make will be submitted effectively the next time you request a new scan of the same application and release. They just will not change the one you have already submitted. About Subsequent Dynamic Assessments After the first time you submit a given application and release for dynamic testing, the process is shorter. The Setup Dynamic Scans form described above, which provides the FoD testing team with details about your application, usually needs to be completed only once. HP Fortify on Demand (3.2) Page 38 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments Submitting Applications for Follow-up Dynamic Testing Subsequent Dynamic Testing Submissions: Method One After the first time, if you want to submit the same application for follow-up assessments, follow these steps: 1. At the top of your screen, click Applications. A new screen appears, with a list of all your applications. 2. Find the application you wish to assess, go to the first column on the left, and click the green bar labeled Start Scan. A brief new menu appears, with the choice of Static or Dynamic. 3. Click Dynamic. Subsequent Dynamic Testing Submissions: Method Two Another easy way to submit an application and release for testing, after at least one assessment of the same URL has been completed, is through the Application Details area for that application. To follow this method: 1. At the top of your screen, click Applications. A new screen appears, with a list of all your applications. 2. Click the name of the application you wish you assess. A new screen appears, with the name of your application at the top, and a series of tabs, arranged vertically, on the left-hand side. 3. Click the sixth tab, labeled Dynamic. HP Fortify on Demand (3.2) Page 39 HP Fortify on Demand 3.2 User Guide Chapter 3: Dynamic Assessments The screen headed Setup Dynamic Scans appears, with the data already filled in for the application you have selected. The information in this form is based on the answers you submitted the first time you requested an assessment of this application. 4. Before submitting the application again, you may change information on any of the form’s three pages, if you wish. 5. If you wish to submit a new scan using the same application and release, and the same answers in the form, just click Start Scan. HP Fortify on Demand (3.2) Page 40 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments Chapter 4: Mobile Assessments About HP Fortify on Demand Mobile Assessments For mobile assessments, Fortify on Demand supports all of the following upload types: Android, BlackBerry, iOS, and Windows. The following levels of mobile service are available. (Note that these terms do not mean the same thing for mobile that they do for FoD Dynamic Scans.) l Express l Basic l Standard l Premium Express An Express mobile assessment is an automated test, focused only the binary file(s) you provide to FoD. Express assessments are available for iOS and Android platforms only. Express testing focuses primarily on privacy issues; for example, we test whether your application is sharing geo-location and enabling access to calendars and contacts. Basic A Basic mobile assessment is a static scan; that is, it tests your code. You will be required to upload one zip file, with your source code only. Standard A Standard assessment for mobile is a dynamic run-time test focused on OWASP Top Ten vulnerabilities. For a Standard test, you will be required to upload binary files only. Our live team of security experts performs all tests covered under Express plus hands-on manual testing, specific testing at the network level, and a personalized review of the results. Premium Premium mobile assessments include both static and dynamic testing of your mobile application. This is our top level of service and includes all of the above--that is, all tests covered under Express Basic, and Standard assessments--plus hands-on attention from our expert team. Our live team of security experts performs an analysis of your client, network, and back-end server testing, and gives you a personalized review of the results. HP Fortify on Demand (3.2) Page 41 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments Note that it is not necessary to submit source code for a premium mobile assessment. If you submit both source code and binary files, FoD will do both static and dynamic testing. However, if for any reason you wish to submit binary files only, we will perform a Premium dynamic mobile scan. As with other types of assessments, the first step is to prepare your code for submission. See About Mobile Uploads for instructions on that process. About Mobile Uploads FoD recommends that you create a separate application for each mobile platform you are using. Also note that both binary and source code files are required for most mobile uploads. (If yours is a Premium mobile scan, you will be asked whether you want to include source files.) The files you send to FoD must include everything needed to build the project, and also information on what software you are using for the build environment; for example, which IDE you are using. About Recommended Browsers for Mobile Uploads For best results when submitting code for a mobile assessment, we recommend that you use one of the following web browsers: l Firefox 26, 27, and higher l Chrome 32 and higher l Safari 5.1.7 for Windows and 7.0.1 for Mac l Internet Explorer 9, 10, or 11 Beginning a Mobile Assessment The process to begin a mobile assessment is: 1. Prepare your files as described in the following sections. 2. Notify your TAM of your desire for a mobile application assessment 3. Follow the instructions under Initiating a Mobile Assessment. Preparing Android Project Files For Android applications, package your files for upload as follows. l For an Express Mobile Assessment, send your application's binary (.apk). l l For a Basic Mobile Assessment, package your application's source code, including all third-party libraries, in a single zip file. For a Standard Mobile Assessment, send your application’s binary (.ipa) HP Fortify on Demand (3.2) Page 42 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments l For a Premium Assessment prepare two separate files: l l Your application’s .APK file. A zip file containing your application's source code (Java) and all thirdparty libraries related to your application. Preparing iOS Application Files For iOS applications, package your analysis and source code files as follows. l For an Express Mobile Assessment, send your application's binary (.ipa). l For a Basic Mobile Assessment, package your application source code (Objective C), including all third-party libraries, in a single zip file. l For a Standard Mobile Assessment, send your application’s binary (.ipa) l For a Premium Mobile Assessment, prepare two separate files: l l Your application's binary .ipa file. A zip file containing your application's source code and all third-party libraries related to your application. Preparing BlackBerry Project Files For BlackBerry applications, package your binary and source code files for upload as follows: l For an Express Mobile Assessment, package your application's binary code into one file. l For a Basic Mobile Assessment, package your application's source code, including all third-party libraries, in a single zip file. l For a Standard Mobile Assessment, send your application’s binary files. l For a Premium Assessment, prepare two separate files: l l Package your application’s binary in one. Package your application's source code into a separate zip file, and include all third-party libraries related to your application in this same zip file. HP Fortify on Demand (3.2) Page 43 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments Preparing Windows Project Files For Windows applications, contact your TAM and ask for specific instructions on how to prepare your files. Creating a New Mobile Application for Assessment If you want to do a security assessment of a mobile application you have never tested in Fortify on Demand before: 1. Click Applications. A new screen appears, with the heading Applications. 2. On the right-hand side of the Applications screen, click + New Application. A box appears, with the heading Create Application Wizard – Step 1 of 3. HP Fortify on Demand (3.2) Page 44 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments 3. In the box labeled Name, type a name for your new application. 4. If you like, you may add a description of the application in the box below the name. (This is optional.) 5. Beside the question: Is this a mobile application? click the box. 6. Click Next. The next screen (Step 2 of 3) in the wizard is the place to enter information about your release. The “release” is the particular version of your application that you want to test now. Note that every application must have at least one release. 7. Give that release a unique name. 8. To see the list of users registered in your tenant, click the arrow beside the second box. HP Fortify on Demand (3.2) Page 45 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments 9. Select one of those users to be the “owner” of this release. 10. In the box labeled Email Notifications, fill in the email address of anyone who should be notified of issues related to this assessment. 11. Again, the Description field is optional. Provide more detail about your release here only if you wish. 12. Click Next. Step 3 of the wizard appears: the Additional attributes screen. Here, a series of menus enables you to select appropriate attributes for your release. All attributes are optional. If you do not want to use them, leave the menu selections at the default setting: (Choose one). HP Fortify on Demand (3.2) Page 46 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments Note that all application attributes are customizable. If you would like to change or add attribute types, add additional choices to any of the attribute categories, or hide attributes you are not using, see Managing Attributes (Lookups). 13. When you are finished defining attributes, go to the bottom of the page and click Save. The dialog box closes and you are returned to the main Applications page, where you now see your new application, and its associated release(s), in the list. Initiating a Mobile Assessment To begin your assessment of a given release: 1. Click Applications. A new screen appears, with a list of all your applications. 2. Find the mobile application you wish to assess, go to the first column on the left, and click the green bar labeled Start Scan. A brief new menu appears, with the word Mobile. 3. Click Mobile. A new page appears, with the heading Setup Mobile Scan. HP Fortify on Demand (3.2) Page 47 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments About New Site Registration When you begin a mobile assessment of a new application, you must first supply detailed information about your application to the FoD testing team through the online form, which is titled Setup Mobile Scan. l l l l The Setup Mobile Scan form must be completed only for new applications, and some new releases, being submitted to FoD for the first time. Subsequent tests of the same data bypass this step. When you register an application for the first time the information required may seem lengthy. However, you do not have to complete the form all at once: you may stop and start without losing data. To do that, you just click Save before exiting the form. An orange outline around any field, or a red star beside a set of radio buttons, means a response is required. If you have any difficulty completing the form, contact your TAM. Completing the Mobile Set-Up Form Note that your Mobile Set-up Form will vary depending on which type of assessment you choose to start. If yours is an Express or Basic assessment, the form will be brief and your options are limited. If you are doing a Standard or Premium assessment, you have additional options, including the ability to upload relevant documents for use by the FoD testing team, and the ability to schedule your assessment for a future date and time. To begin your assessment: HP Fortify on Demand (3.2) Page 48 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments 1. Fill out the Setup Mobile Scan form. The information you will need to complete this online form is as follows: a. Assessment Type (Express, Basic, Standard, Premium) b. Framework Type (iOS, Android, Windows, BlackBerry) c. Application Platform (Phone, Tablet, Both) Then, depending on which Assessment Type you selected, additional information may be requested. The following information pertains to Standard and Premium Mobile assessments (but not Basic or Express). d. User Accounts (We need at least one user name, password, and role, unless you choose not to require this.) Note: This form provides space to enter two sets of credentials. If you would like to enter more, list them in the Add Build Information Or Notes box, below the User Account area. HP Fortify on Demand (3.2) Page 49 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments e. Any other notes you want to add in the box headed Add Build Information Or Notes are also welcome; this section is optional. f. Environment (Development, Quality Assurance, User Acceptance Testing, Production) g. VPN Required: Check this box if the answer is yes. If yes, add credentials in the boxes that appear below. h. Multi-factor Authentication: Check this box if the answer is yes. If yes, provide more information in the box that appears below. i. External Devices: Check any that apply. (Intrusion Detection System, Intrusion Prevention System, Web Application Firewall, Proxy Servers, Load Balancer) j. Upload Documents: If you would like to attach any documents relevant to your application that may be useful to the FoD testers, you can do that here. Click Choose File to browse to the document you want to attach. Then click Upload. Note that only documents of up to 30 MB can be attached here, and only files with the following extensions: .doc, .docx, .ppt, .txt, .pdf, .pptx. k. Additional Notes: At the bottom of the final page is a box for you to add any more information you want the FoD testing team to know about before they begin your dynamic assessment. l. Pre-Assessment Call: Check this box if you would like to schedule a telephone call with FoD personnel before submitting your application for assessment. When you have completed the form, go to the upper-right corner of your screen, and click Save. If the form is complete, the Setup Status will change from Incomplete to Valid. 2. If, instead of submitting the form now, you would like to save your information and come back to it later, click Save at the top of the screen. HP Fortify on Demand (3.2) Page 50 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments The data you have entered into the Setup Mobile Scan form will be saved and ready for use at a later time. 3. When you are ready to begin your assessment, click Start Scan. Starting Your Scan After you click Start Scan, a new series of questions begin, so that you may set your preferences for timing and other details. First a pop-up appears titled Start Mobile Scan – Step 1 of 2 (or Step 1 of 3). The center of this box says Scan Date. 1. Put your cursor in the small box in the center, click once, and a calendar appears, as illustrated below. 2. Using that calendar, select the date and time most optimal for your assessment. 3. Click Done. 4. If yours is a remediation scan, click the box beside: Is this a remediation scan? If it is not, leave that checkbox blank. 5. Click Next. 6. Then follow the instructions below under A., B., or C., depending on whether you want a Basic, Express, Standard, or Premium scan. HP Fortify on Demand (3.2) Page 51 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments A. If yours is a Basic scan: A new pop-up box appears, with the heading Start Mobile Scan – Step 2 of 2. 1. Browse to the .zip file you want to upload. 2. When the file is uploaded, click Start Scan. A Summary box appears, informing you that your scan has started. B. If yours is an Express or a Standard scan, follow the steps above, but upload a file with the extension .ipa or .apk. C. If yours is a Premium scan: The pop-up box says Start Mobile Scan – Step 2 of 3. That is because there are two sets of files to be uploaded. 1. Browse to the file you want to upload, which must have an extension of .ipa or .apk. 2. Click Next. You see progress bar(s) indicating that your upload is in process. When the .ipa or .apk is fully uploaded, a new pop-up appears with the heading Start Mobile Scan – Step 3 of 3. HP Fortify on Demand (3.2) Page 52 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments 3. Browse to your .zip file and upload that. 4. Click Start Scan. Progress bar(s) indicate that your upload is in process. If you choose not to upload source code for your Premium Mobile scan, you see this message: 5. Make your selection, and continue. When the upload process is complete, a Summary screen appears, informing you that your scan has started. Unless you are otherwise notified, your assessment will begin at the time you selected when you filled out the form. If you schedule recurring assessments, this release will be scanned again at the intervals you defined until such time as you return to the Setup Mobile Scan form and change your request. HP Fortify on Demand (3.2) Page 53 HP Fortify on Demand 3.2 User Guide Chapter 4: Mobile Assessments Your mobile assessment will be completed approximately five business days after the date you scheduled it, if access to the application has been properly documented and granted. Note: If you have restrictions about the time of day for your assessment, this could have a significant effect on the turnaround time. For example, you can expect a potential doubling of the testing window if you restrict the testing times to half the day. If you have any questions about this, please contact your TAM. You will receive email notifications when your application has been received and when the assessment is complete. At those points, the status on the Applications page will change from Not Started to In Progress and then to Completed. HP Fortify on Demand (3.2) Page 54 HP Fortify on Demand 3.2 User Guide Chapter 5: Completing an Assessment Chapter 5: Completing an Assessment About Completing the Assessment Process When your assessment is complete, there are several steps you can follow to access and use the information learned from the test. This chapter includes information on how to check on the status of your assessment and what to do when your assessment is complete. Checking the Status of your Assessment To check the status of an assessment: 1. Click Applications. 2. Find your application in the list that appears on your screen. Three columns on this page are headed Static, Dynamic, and Mobile. Each of those columns shows one of the following statuses: Not Started, In Progress, Canceled, Waiting, or Completed. The columns headed Static Exp Comp and Dynamic Exp Comp tell you the expected completion date for your assessment(s). The column labeled Last Completed tells you when the most recent assessment of a particular release was finished. Note that the dates here are listed with the year first, then the month, and then the day. Note: If you do not see one or more of the columns described above, you can cause them to show up (or otherwise change the display of this Applications grid). For instructions on how to do that, see Selecting Rows and Columns for Display. HP Fortify on Demand (3.2) Page 55 HP Fortify on Demand 3.2 User Guide Chapter 5: Completing an Assessment Communicating with the FoD Security Team If the status of one of your assessments is Waiting, that means a member of the FoD security team has a question for you, or needs more information before she can continue. If you see a status of Waiting: 1. Click Applications. A new screen appears, with a list of all your applications. 2. Click the name of the application you wish to work on. This takes you to the Application Overview screen. Near the top of the page, in the box for either static or dynamic assessment summaries, you may see a purple button labeled Waiting. If so, that means the FoD testing team needs a response of some kind from you before they can proceed. To respond: 3. Click Help Center. 4. Click View Tickets. A new screen appears, with a list of tickets submitted. Each ticket has a status, listed in the left-hand column. Possible statuses are New, Open, Pending, and Solved. 5. Click Show Pending. The list now shows only tickets that require action from your organization. Note, also, that your total number of Pending tickets appears as a red numeral above the Help Center link at the top of the page. 6. Click Reply and type your response to the question. As soon as you send a response, your assessment’s status reverts to In Progress. HP Fortify on Demand (3.2) Page 56 HP Fortify on Demand 3.2 User Guide Chapter 5: Completing an Assessment About When Your Assessment is Complete At the completion of the assessment, FoD checks the results for accuracy and then releases them to your account. At that point: l You receive a confirmation email saying that your assessment is complete. l You can log on to FoD to view your results. l You can check the status, as described above, to see the completion date. HP Fortify on Demand (3.2) Page 57 HP Fortify on Demand 3.2 User Guide Chapter 5: Completing an Assessment HP Fortify on Demand (3.2) Page 58 of 58
© Copyright 2026 Paperzz