VA SOFTWARE ASSURANCE PROGRAM OFFICE



Similar documents
OFFICE OF INFORMATION SECURITY. Secure Code Review Standard Operating Procedures

Assessment and Authorization

Fortify Training Services. Securing Your Entire Software Portfolio FRAMEWORK*SSA

Seven Practical Steps to Delivering More Secure Software. January 2011

Vulnerability Assessment for Middleware

HP ESP Partner Enablement Fortify Proof of Concept Boot Camp Training

An Open Source Meaningful Use Stage 2 Clinical Quality Measure Testing and Certification Tool

Get Confidence in Mission Security with IV&V Information Assurance

Building Assurance Into Software Development Life- Cycle (SDLC)

Is your software secure?

A Strategic Approach to Web Application Security The importance of a secure software development lifecycle

HP Fortify Software Security Center

FREQUENTLY ASKED QUESTIONS

Application Security Center overview

The AppSec How-To: Achieving Security in DevOps

Streamlining Application Vulnerability Management: Communication Between Development and Security Teams

Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

NEXPOSE ENTERPRISE METASPLOIT PRO. Effective Vulnerability Management and validation. March 2015

Practical Applications of Software Security Model Chris Nagel

Comparing Application Security Tools

From Rivals to BFF: WAF & VA Unite OWASP The OWASP Foundation

Secure Programming with Static Analysis. Jacob West

HP Application Security Center

What's New in ADP Reporting?

Product Build. ProPath. Office of Information and Technology

Kenna Platform Security. A technical overview of the comprehensive security measures Kenna uses to protect your data

Code Dx: Visual analytics for triage of source code vulnerabilities

Learning objectives for today s session

IT Security & Compliance. On Time. On Budget. On Demand.

! Resident of Kauai, Hawaii

HP Fortify Application Security Lucas v. Stockhausen PreSales Manager HP Fortify EMEA Enterprise Security

Continuous Network Monitoring

Hybrid Analysis Mapping: Making Security and Development Tools Play Nice Together. Dan Cornell. CTO, Denim

elearning for Secure Application Development

AHS Flaw Remediation Standard

From the Bottom to the Top: The Evolution of Application Monitoring

A methodology for secure software design

HP Fortify Static Code Analyzer

Cybersecurity Risk Management Activities Instructions Fiscal Year 2015

TOOL EVALUATION REPORT: FORTIFY

Automatic vs. Manual Code Analysis

Installing and Configuring Nessus by Nitesh Dhanjani

TEKLYNX LABEL ARCHIVE

IBM Rational AppScan: Application security and risk management

Your world runs on applications. Secure them with Veracode.

QRadar SIEM 6.3 Datasheet

Avaya Network Configuration Manager User Guide

Final Audit Report -- CAUTION --

Getting software security Right

2014 Audit of the Board s Information Security Program

Iron Chef: John Henry Challenge

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis

AUTOMATING AUDITS AND ENSURING CONTINUOUS COMPLIANCE WITH ALGOSEC

Product Roadmap. Sushant Rao Principal Product Manager Fortify Software, a HP company

Configuration & Build Management

FISMA Compliance: Making the Grade

Getting Started with Performance Management

About SMART Practice Aids Disclosure

PubMed My NCBI: Saving Searches & Creating Alerts

Risk Management Guide for Information Technology Systems. NIST SP Overview

Web application security: automated scanning versus manual penetration testing.

DIRECTORY PASSWORD V1.2 Quick Start Guide

NIST A: Guide for Assessing the Security Controls in Federal Information Systems. Samuel R. Ashmore Margarita Castillo Barry Gavrich

Web application security Executive brief Managing a growing threat: an executive s guide to Web application security.

IBM Internet Security Systems October FISMA Compliance A Holistic Approach to FISMA and Information Security

Continuous Monitoring in a Risk Management Framework. US Census Bureau Oct 2012

Security Think beyond! Patrick Hildenbrand, SAP HANA Platform Extensions June 17, 2014

FISMA Implementation Project

ASDI Full Audit Guideline Federal Aviation Administration

Integrated Threat & Security Management.

SECURITY CONTROLS AND RISK MANAGEMENT FRAMEWORK

Third Party Security: Are your vendors compromising the security of your Agency?

Software & Supply Chain Assurance: Mitigating Risks Attributable to Exploitable ICT / Software Products and Processes

How To Manage A Privileged Account Management

ReconArt for NetSuite

Security Testing and Vulnerability Management Process. e-governance

The Operating System Lock Down Solution for Linux

Braindumps.C questions

How to start a software security initiative within your organization: a maturity based and metrics driven approach OWASP

Delphi-Windows Digital Signature Library Interface

Next Generation ProSystem fx Suite. Planning and Implementation Overview

Project Management Office Best Practices

White Paper. Managing Risk to Sensitive Data with SecureSphere

PCI Compliance. Network Scanning. Getting Started Guide

Enterprise Risk Management in Compliance 360

How To Manage Web Content Management System (Wcm)

Transcription:

VA Code Review Process elearning Module Start >>

VA Code Review Process elearning Module Getting Started About Fortify About VA This section provides an introduction to this elearning course. This section provides a brief technical overview of the Fortify tool. This section provides an overview of VA secure code review procedures. 1

VA Code Review Process elearning Module Getting Started About Fortify About VA 2

Welcome! Thank you for taking the time to review this elearning module. This training module is courtesy of the VA Software Assurance Program Office. This training module is an overview of concepts & activities associated with the VA Verification and Validation (V&V) Secure Code Review process. 3

Getting Started What are "V&V Secure Code Reviews"? Do I need to do code reviews? My ATO / TATO is at the program / system level. How many code reviews are needed? Reviewing application source code for vulnerabilities can be a complex process. The primary objectives of conducting security-focused source code reviews at the VA are to: Improve the security of VA applications agency-wide Encourage the use of static analysis tools during the development of VA applications Ensure that secure code reviews are performed consistently and cost-efficiently 4

What are "V&V Secure Code Reviews"? What are "V&V Secure Code Reviews"? Do I need to do code reviews? My ATO / TATO is at the program / system level. How many code reviews are needed? Generally, VA Application Developers are responsible for performing their own secure code reviews of their applications both during development and the A&A process. Secure code review Verification and Validations (V&V) are reviews of developer-performed scans to support obtaining an ATO or TATO that ensure VA requirements for performing secure code reviews have been met. 5

Do I need to do code reviews? What are "V&V Secure Code Reviews"? Do I need to do code reviews? My ATO / TATO is at the program / system level. How many code reviews are needed? Code reviews are required at the VA under the auspices of the agencywide Software Assurance program in order to meet FISMA NIST SP 800-53 revision 4 code review requirements that are contained within ProPath. ProPath is required for all IT development projects at the VA, agencywide. ProPath includes System Development Life Cycle (SDLC) activities that have been enhanced by the Software Assurance program to perform code reviews. Code reviews are required for all VA software development, with the exception of components that are written in the following languages: MUMPS and Delphi. 6

My ATO / TATO is at the program / system level. How many code reviews do I actually need? What are "V&V Secure Code Reviews"? Do I need to do code reviews? My ATO / TATO is at the program / system level. How many code reviews are needed? A code review will need to be conducted for each individual application, and the testing results validated by the Software Assurance Program Office. Upon validation, the entire set of code review validation reports will need to be checked into RiskVision in preparation of the A&A process. 7

VA Code Review Process elearning Module Getting Started About Fortify About VA 8

About Fortify What is meant by vulnerabilities in source code? How does one search for vulnerabilities in source code using Fortify? How does Fortify work? What is Fortify? The HP Fortify Static Code Analyzer (SCA) tool (a.k.a. Fortify) is a Static Application Security Testing (SAST) tool. This tool can trace through your VA application source code and apply security knowledge to identify vulnerabilities. Fortify SCA does not test VA application while it is running or executing, and does not analyze the architecture of the application. It looks only at the source code and requires that the source code can be compiled. As such, all required dependencies must be made available. After a Fortify scan is completed, results are presented in a prioritized fashion, details are provided about each finding reported, including a view of the source code for each finding, along with recommendations of example code fixes or mitigations for each type of finding. 9

What is meant by vulnerabilities in source code? What is meant by vulnerabilities in source code? How does one search for vulnerabilities in source code using Fortify? How does Fortify work? Vulnerabilities in source code are flaws in application software implementation and/or design that have security implications. Example: In this example, external data is read from the network in the getinputfromnetwork() function. Note that all external input to the application (not just user input) should be validated prior to use. Fortify checks that the data saved in buff, and then copied to newbuff, has been validated prior to being used in the exec() function call. Fortify will flag this finding as a Command Injection flaw, since no validation occurred. Validating external input should include checking that the data is of a valid type, within an expected range of values, etc. Missing input validation is the #1 cause of many vulnerabilities in application source code. There are many ways to validate data appropriately, depending on how the data is used by the application and how the data values can be constrained. 10

How does one search for vulnerabilities in source code using Fortify? What is meant by vulnerabilities in source code? How does one search for vulnerabilities in source code using Fortify? How does Fortify work? Security-focused source code reviews at the VA should be performed using Fortify, which is made freely available by VA to VA application developers, including contractors. Fortify benefits: Fast compared to manual review or security testing Consistent and repeatable Security knowledge built-in Makes security review process easier for non-experts Fortify limitations: Does not understand architecture Does not understand application semantics Does not understand business context 11

How does Fortify work? What is meant by vulnerabilities in source code? How does one search for vulnerabilities in source code using Fortify? How does Fortify work? Source Source Code Code Source Code Source Code Build Model (compile to an internal model) When source code spans multiple languages, each is separately compiled to the internal model and all are scanned together Internal Model Scan (Analyze model and apply security knowledge) Results 12

VA Code Review Process elearning Module Getting Started About Fortify About VA 13

How does the V&V Secure Code Review Validation process work? Overall workflow Auditing scans What items are checked for during a V&V secure code review validation? How often during development should I use Fortify? Where can I find more information? The overall V&V process works as follows: 1. VA application developers request the Fortify software, then use it during development (and maintenance) 2. Prior to release, during the A&A process to obtain an ATO/TATO (or per NSOC direction), developers conduct a final Fortify scan 3. A V&V secure code review validation request package, containing the final Fortify scan, V&V Request Form, and source code to be delivered, is submitted to the VA Software Assurance Program Office. 4. The VA Software Assurance Program Office validation process checks that no critical or high findings remain, along with other checks, per the SOP. 14

V&V Secure Code Review Validation process workflow: Overall workflow Auditing scans What items are checked for during a V&V secure code review validation? How often during development should I use Fortify? Where can I find more information? The overall V&V workflow is as follows: 15

Auditing Fortify Scans According to VA Overall workflow Auditing scans What items are checked for during a V&V secure code review validation? How often during development should I use Fortify? Where can I find more information? Getting started auditing scan results using Fortify Audit Workbench: (Continued on next slide) 16

Auditing Fortify Scans According to VA (Continued) Overall workflow Auditing scans What items are checked for during a V&V secure code review validation? How often during development should I use Fortify? Where can I find more information? All findings reported by Fortify need to be audited Critical, High, Medium, Low Tip: Check that the Filter Set drop down box is set to "Security Auditor View." Additionally, do not hide, suppress, or attempt to filter out any issues. All issues reported by Fortify must be viewed and audited. To audit findings, the information provided by Fortify should be reviewed in the Details, Recommendations, and Diagram tab of Audit Workbench. Ensure findings flagged by Fortify are understood. Determine if findings require a code fix, are mitigated by other controls in the system, or are a false positive. Select the appropriate option from the Analysis pull-down in the Summary tab of Audit Workbench. (Continued on next slide) 17

Auditing Fortify Scans According to VA (Continued) Overall workflow Auditing scans What items are checked for during a V&V secure code review validation? How often during development should I use Fortify? Where can I find more information? (Continued from previous slide) Add comments to the Comments text area to provide details about the other mitigating controls or why an issue is considered a false positive (denoted by selecting Not an Issue in the Analysis pulldown). Multiple issues can be audited at once by selecting a group of issues and then selecting the appropriate Analysis option and entering comments that apply to all the issues selected Fortify provides merge functionality, so the analysis performed on an FPR file can be merged with subsequent scans. One only needs to audit the findings once and then merge the audited FPR with future scans of the code base. 18

What items are checked for during a V&V secure code review validation? Overall workflow Auditing scans What items are checked for during a V&V secure code review validation? How often during development should I use Fortify? Where can I find more information? Specific items that are checked for include the following: Review developer-provided scan file for matching source code (the source code delivered must match the source code scanned with Fortify) Review developer-provided scan file for scanning issues (Fortify scans must complete successfully, with not errors, exceptions, or warnings reported by Fortify) Review developer-provided scan file for residual findings (all findings reported by Fortify must be audited, with comments added for any issues not fixed, or determined to be Not an Issue ) Review developer-provided scan file for suppression of issues (all issues reported by Fortify must be visible in the Fortify results) Perform additional supporting analysis, as needed (the SwA team will review the source code and report any additional findings not reported by Fortify, or false negatives) Tip: A technical note that provides additional details about steps that need to be performed by developers can be found here: https://wiki.mobilehealth.va.gov/pages/viewpage.action?pageid=30769185 19

How often during development should I use Fortify? Overall workflow Auditing scans What items are checked for during a V&V secure code review validation? How often during development should I use Fortify? Where can I find more information? Generally, Fortify should be used during development as early and as often as possible. The goal should be to identify vulnerabilities early and fix them early. It is far less expensive to find vulnerabilities early in the development process and not let them propagate throughout the source code. When it comes time to do a final scan during the A&A process, there should be minimal issues reported, as a result of all the earlier scans conducted, and the findings fixed. Tip: Always check for and use the latest version of the Fortify software and always keep rulepacks up to date. Fortify typically releases a new version of its software 3 or 4 times a year. Rulepacks are generally updated once every couple of months as well. It is recommended that you enable Fortify to automatically check for and download the latest rulepacks every 15 days For projects that use continuous integration, automating Fortify scans as part of your build process may be needed, rather than relying on individual developers to perform scans on their own machines periodically. However using Fortify prior to the A&A process is up to developer and respective teams discretion. The SwA team reviews the final scan that is submitted as part of the Secure Code Review Validation package, which is required when attempting to obtain an ATO/TATO. Also see the VA ProPath BLD SDLC requirements. 20

Where do I find the necessary forms, procedures, and help for code reviews? Overall workflow Auditing scans What items are checked for during a V&V secure code review validation? How often during development should I use Fortify? Where can I find more information? The VA Software Assurance Program office provides a support web site that is accessible both inside and outside of the VA network. Link to VA Software Assurance support site : https://wiki.mobilehealth.va.gov/display/oisswa The VA Software Assurance Program office provides instructor-led virtual developer training throughout the year: Fortify End User Course (2 Days) Secure Coding Course (3 Days) Course schedules and registration information can be found on the home page of the support site in blog announcements. Course materials can be freely downloaded in between sessions from the Public Document Library section of the support site. 21

Thank you! 1. Module Selection If you need additional assistance in the future, please contact us for an in-person overview Lync meeting to address any other questions, or project-specific questions : OISSwASupportGroup@va.gov << Back Reset >> 22