SlideShare a Scribd company logo
5
Most read
9
Most read
10
Most read
18/01/2014

FORTIFY
Rupam Bhattacharya

1
Agenda
•
•
•
•
•
•

Overview of Fortify
Using Fortify
Type of Analyzers
Analysis Phases
Analysis Commands
Demo
Fortify Source Code Analyser
•

Fortify Source Code Analyzer (SCA) is a set of software security analyzers
that search for violations of security‐specific coding rules and guidelines in a
variety of languages.

•

The rich data provided by Fortify SCA language technology enables the
analyzers to pinpoint and prioritize violations so that fixes can be fast and
accurate.

•

The analysis information produced by SCA helps you deliver more secure
software, as well as making security code reviews more efficient, consistent, and
complete.

3
Using Fortify

• At the highest level, using Fortify SCA involves:
• Choosing to run SCA as a stand‐alone process or

integrating Fortify SCA as part of the build tool
• Translating the source code into an intermediate
translated format, preparing the code base for scanning
by the different analyzers
• Scanning the translated code, producing security
vulnerability reports
• Auditing the results of the scan, either by transferring the
resulting FPR file to Audit Workbench or Fortify 360
Server for analysis, or directly with the results displayed
onscreen
Analyzers
• Data Flow: The data flow analyzer detects potential vulnerabilities
that involve tainted data (user‐controlled input) put to potentially
dangerous use. Eg. Buffer overflow, SQL Injections.
• Control Flow: The control flow analyzer detects potentially
dangerous sequences of operations. Eg. time of check/time of use
issues and uninitialized variables.
• Semantic: The semantic analyzer detects potentially dangerous
uses of functions and APIs at the intra‐procedural level. Eg.
Deprecated functions, unsafe functions.
• Structural: The structural analyzer detects potentially dangerous
flaws in the structure or definition of the program. For Eg. Dead
Code.
• Configuration: The configuration analyzer searches for mistakes,
weaknesses, and policy violations in an application's deployment
configuration files.
Analysis Phases
• Fortify SCA performs source code analysis
• Build Integration: The first phase of source code analysis involves
making a decision whether to integrate SCA into the build compiler
system.
• Translation: Source code gathered using a series of commands is
translated into an intermediate format which is associated with a
build ID. The build ID is usually the name of the project being
scanned.
• Analysis: Source files identified during the translation phase are
scanned and an analysis results file, typically in the Fortify project
(FPR) format, is generated. FPR files are indicated by the .fpr file
extension.
• Verification of the translation and analysis: Ensure that the
source files were scanned using the correct rulepacks and that no
significant errors were reported.
Analysis Commands

• The following is an example of the sequence of

commands you use to analyze code:
• Clean and build
 sourceanalyzer -b <build_id> -clean

• Translation
 sourceanalyzer -b <build_id> ...

•Scan
 sourceanalyzer -b <build_id> -scan -f results.fpr
Translation Options

• Output Options:
•

•
•

•
•
•
•

-append : Appends results to the file specified with -f. If this option is not
specified, Fortify SCA adds the new findings to the FPR file, and labels
the older result as previous findings.
-build-label <label> : The label of the project being scanned.
-build-project <project> : The name of the project being scanned.
-build-version <version> : The version of the project being scanned.
-f <file> : The file to which results are written.
-format <format> : Controls the output format. Valid options are fpr, fvdl,
text, and auto.
-html-report : Creates an HTML summary of the results produced.
Translation Options

• Analysis Options:
•
•
•
•
•
•
•
•

-disable-default-ruletype <type> : Disables all rules of the specified type
in the default rulepacks.
-encoding : Specifies the encoding for encoded source files.
-filter <file_name> : Specifies a results filter file.
-findbugs : Enables FindBugs analysis for Java code.
-quick : Scans the project in Quick Scan Mode.
-rules [<file>|<directory>] : Specifies a custom rulepack or directory.
-disable-source-rendering : Source files are not included in the FPR file.
-scan : Causes Fortify SCA to perform analysis for the specified build
ID.
Translation Options

• Build Integration Options
•
•

•
•

-b <build_id> : Specifies the build ID.
-bin <binary> : Used with -scan to specify a subset of source files to
scan. Only the source files that were linked in the named binary at build
time are included in the scan.
-exclude <file_pattern> : Removes files from the list of files to translate.
For example: sourceanalyzer –cp "**/*.jar"  "**/*" -exclude "**/Test.java“
-nc : When specified before a compiler command line.
Translation Options

• Runtime Options
•

•
•
•
•
•

-auth-silent : Available on Fortify SCA Per Use edition only.  Suppresses
the prompt that displays the number of lines the scan requires to
analyze the source code.
-64 : Runs Fortify SCA under the 64‐bit JRE.
-logfile <file_name> : Specifies the log file that is produced by Fortify
SCA.
-quiet : Disables the command line progress bar.
-verbose : Sends verbose status messages to the console.
-Xmx <size> : Specifies the maximum amount of memory used by
Fortify SCA.
Demo

More Related Content

PPTX
Wazuh Security Platform
PPTX
The Elastic Stack as a SIEM
PPTX
What is SIEM
PPTX
PPTX
Security Information and Event Management (SIEM)
PPTX
Misp(malware information sharing platform)
PDF
Need Of Security Operations Over SIEM
PDF
Open Source SOC Kurulumu
Wazuh Security Platform
The Elastic Stack as a SIEM
What is SIEM
Security Information and Event Management (SIEM)
Misp(malware information sharing platform)
Need Of Security Operations Over SIEM
Open Source SOC Kurulumu

What's hot (20)

PDF
Purple Teaming the Cyber Kill Chain: Practical Exercises for Everyone Sector...
PPT
SOC presentation- Building a Security Operations Center
PPTX
Crowdstrike .pptx
PDF
SIEM Architecture
PPTX
SIEM presentation final
PDF
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
PPTX
SOAR and SIEM.pptx
PPSX
Introduction to threat_modeling
PPTX
OWASP Top 10 2021 Presentation (Jul 2022)
PPTX
Security Onion - Brief
PDF
PHDays 2018 Threat Hunting Hands-On Lab
PDF
IBM QRadar Security Intelligence Overview
ODP
OWASP Secure Coding
PDF
Apache Kafka for Cybersecurity and SIEM / SOAR Modernization
PDF
Android application penetration testing
PPTX
Log Yönetimi ve Saldırı Analizi Eğitimi -1
PDF
Extended Detection and Response (XDR) An Overhyped Product Category With Ulti...
PDF
Sigma Hall of Fame - EU ATT&CK User Workshop, October 2021
PDF
SIEM Başarıya Giden Yol
PDF
Présentation ELK/SIEM et démo Wazuh
Purple Teaming the Cyber Kill Chain: Practical Exercises for Everyone Sector...
SOC presentation- Building a Security Operations Center
Crowdstrike .pptx
SIEM Architecture
SIEM presentation final
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
SOAR and SIEM.pptx
Introduction to threat_modeling
OWASP Top 10 2021 Presentation (Jul 2022)
Security Onion - Brief
PHDays 2018 Threat Hunting Hands-On Lab
IBM QRadar Security Intelligence Overview
OWASP Secure Coding
Apache Kafka for Cybersecurity and SIEM / SOAR Modernization
Android application penetration testing
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Extended Detection and Response (XDR) An Overhyped Product Category With Ulti...
Sigma Hall of Fame - EU ATT&CK User Workshop, October 2021
SIEM Başarıya Giden Yol
Présentation ELK/SIEM et démo Wazuh
Ad

Similar to Fortify - Source Code Analyzer (20)

PDF
Code Review with Sonar
PPTX
Sonarqube
PPTX
devops ppt for hjs jsdjhjd hsdbusinees.pptx
PDF
685163main 2 4-a-swat_extendingbenefitsofstaticcodeanalysistools_final
PPTX
Managing Open Source Software Supply Chains
PPTX
Hp fortify source code analyzer(sca)
PDF
Beginners guide on how to start exploring IoT 2nd session
PPTX
GNAT Pro User Day: Latest Advances in AdaCore Static Analysis Tools
PPTX
Contain your risk: Deploy secure containers with trust and confidence
PDF
Managing OSS license obligations
PPTX
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
PPTX
Building Security into Your Workflow with InSpec
PPTX
How to Normalize Threat Intelligence Data from Multiple Sources - Tech Talk T...
PPTX
Sonar qube
PPT
Introduction to DO-178B - Software Considerations in Airborne Systems and Equ...
PDF
Thick Application Penetration Testing - A Crash Course
PPT
Managing Software Inventories & Automating Open Source Software Compliance
PDF
BRKSEC-3144.pdf
PDF
OWF14 - Open Source & Software Supply Chain
PPTX
OWASP Dependency-Track Introduction
Code Review with Sonar
Sonarqube
devops ppt for hjs jsdjhjd hsdbusinees.pptx
685163main 2 4-a-swat_extendingbenefitsofstaticcodeanalysistools_final
Managing Open Source Software Supply Chains
Hp fortify source code analyzer(sca)
Beginners guide on how to start exploring IoT 2nd session
GNAT Pro User Day: Latest Advances in AdaCore Static Analysis Tools
Contain your risk: Deploy secure containers with trust and confidence
Managing OSS license obligations
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
Building Security into Your Workflow with InSpec
How to Normalize Threat Intelligence Data from Multiple Sources - Tech Talk T...
Sonar qube
Introduction to DO-178B - Software Considerations in Airborne Systems and Equ...
Thick Application Penetration Testing - A Crash Course
Managing Software Inventories & Automating Open Source Software Compliance
BRKSEC-3144.pdf
OWF14 - Open Source & Software Supply Chain
OWASP Dependency-Track Introduction
Ad

More from n|u - The Open Security Community (20)

PDF
Hardware security testing 101 (Null - Delhi Chapter)
PPTX
SSRF exploit the trust relationship
PDF
PDF
Api security-testing
PDF
Introduction to TLS 1.3
PDF
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
PDF
Talking About SSRF,CRLF
PPTX
Building active directory lab for red teaming
PPTX
Owning a company through their logs
PPTX
Introduction to shodan
PDF
Detecting persistence in windows
PPTX
Frida - Objection Tool Usage
PDF
OSQuery - Monitoring System Process
PDF
DevSecOps Jenkins Pipeline -Security
PDF
Extensible markup language attacks
PPTX
PDF
Hardware security testing 101 (Null - Delhi Chapter)
SSRF exploit the trust relationship
Api security-testing
Introduction to TLS 1.3
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Talking About SSRF,CRLF
Building active directory lab for red teaming
Owning a company through their logs
Introduction to shodan
Detecting persistence in windows
Frida - Objection Tool Usage
OSQuery - Monitoring System Process
DevSecOps Jenkins Pipeline -Security
Extensible markup language attacks

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Cloud computing and distributed systems.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPT
Teaching material agriculture food technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
MIND Revenue Release Quarter 2 2025 Press Release
Dropbox Q2 2025 Financial Results & Investor Presentation
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Cloud computing and distributed systems.
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The AUB Centre for AI in Media Proposal.docx
Reach Out and Touch Someone: Haptics and Empathic Computing
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Unlocking AI with Model Context Protocol (MCP)
Encapsulation_ Review paper, used for researhc scholars
Review of recent advances in non-invasive hemoglobin estimation
Teaching material agriculture food technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Big Data Technologies - Introduction.pptx
NewMind AI Weekly Chronicles - August'25 Week I

Fortify - Source Code Analyzer

  • 2. Agenda • • • • • • Overview of Fortify Using Fortify Type of Analyzers Analysis Phases Analysis Commands Demo
  • 3. Fortify Source Code Analyser • Fortify Source Code Analyzer (SCA) is a set of software security analyzers that search for violations of security‐specific coding rules and guidelines in a variety of languages. • The rich data provided by Fortify SCA language technology enables the analyzers to pinpoint and prioritize violations so that fixes can be fast and accurate. • The analysis information produced by SCA helps you deliver more secure software, as well as making security code reviews more efficient, consistent, and complete. 3
  • 4. Using Fortify • At the highest level, using Fortify SCA involves: • Choosing to run SCA as a stand‐alone process or integrating Fortify SCA as part of the build tool • Translating the source code into an intermediate translated format, preparing the code base for scanning by the different analyzers • Scanning the translated code, producing security vulnerability reports • Auditing the results of the scan, either by transferring the resulting FPR file to Audit Workbench or Fortify 360 Server for analysis, or directly with the results displayed onscreen
  • 5. Analyzers • Data Flow: The data flow analyzer detects potential vulnerabilities that involve tainted data (user‐controlled input) put to potentially dangerous use. Eg. Buffer overflow, SQL Injections. • Control Flow: The control flow analyzer detects potentially dangerous sequences of operations. Eg. time of check/time of use issues and uninitialized variables. • Semantic: The semantic analyzer detects potentially dangerous uses of functions and APIs at the intra‐procedural level. Eg. Deprecated functions, unsafe functions. • Structural: The structural analyzer detects potentially dangerous flaws in the structure or definition of the program. For Eg. Dead Code. • Configuration: The configuration analyzer searches for mistakes, weaknesses, and policy violations in an application's deployment configuration files.
  • 6. Analysis Phases • Fortify SCA performs source code analysis • Build Integration: The first phase of source code analysis involves making a decision whether to integrate SCA into the build compiler system. • Translation: Source code gathered using a series of commands is translated into an intermediate format which is associated with a build ID. The build ID is usually the name of the project being scanned. • Analysis: Source files identified during the translation phase are scanned and an analysis results file, typically in the Fortify project (FPR) format, is generated. FPR files are indicated by the .fpr file extension. • Verification of the translation and analysis: Ensure that the source files were scanned using the correct rulepacks and that no significant errors were reported.
  • 7. Analysis Commands • The following is an example of the sequence of commands you use to analyze code: • Clean and build  sourceanalyzer -b <build_id> -clean • Translation  sourceanalyzer -b <build_id> ... •Scan  sourceanalyzer -b <build_id> -scan -f results.fpr
  • 8. Translation Options • Output Options: • • • • • • • -append : Appends results to the file specified with -f. If this option is not specified, Fortify SCA adds the new findings to the FPR file, and labels the older result as previous findings. -build-label <label> : The label of the project being scanned. -build-project <project> : The name of the project being scanned. -build-version <version> : The version of the project being scanned. -f <file> : The file to which results are written. -format <format> : Controls the output format. Valid options are fpr, fvdl, text, and auto. -html-report : Creates an HTML summary of the results produced.
  • 9. Translation Options • Analysis Options: • • • • • • • • -disable-default-ruletype <type> : Disables all rules of the specified type in the default rulepacks. -encoding : Specifies the encoding for encoded source files. -filter <file_name> : Specifies a results filter file. -findbugs : Enables FindBugs analysis for Java code. -quick : Scans the project in Quick Scan Mode. -rules [<file>|<directory>] : Specifies a custom rulepack or directory. -disable-source-rendering : Source files are not included in the FPR file. -scan : Causes Fortify SCA to perform analysis for the specified build ID.
  • 10. Translation Options • Build Integration Options • • • • -b <build_id> : Specifies the build ID. -bin <binary> : Used with -scan to specify a subset of source files to scan. Only the source files that were linked in the named binary at build time are included in the scan. -exclude <file_pattern> : Removes files from the list of files to translate. For example: sourceanalyzer –cp "**/*.jar"  "**/*" -exclude "**/Test.java“ -nc : When specified before a compiler command line.
  • 11. Translation Options • Runtime Options • • • • • • -auth-silent : Available on Fortify SCA Per Use edition only.  Suppresses the prompt that displays the number of lines the scan requires to analyze the source code. -64 : Runs Fortify SCA under the 64‐bit JRE. -logfile <file_name> : Specifies the log file that is produced by Fortify SCA. -quiet : Disables the command line progress bar. -verbose : Sends verbose status messages to the console. -Xmx <size> : Specifies the maximum amount of memory used by Fortify SCA.
  • 12. Demo