SlideShare a Scribd company logo
Source Code Analysis Made Easy

The AppSec How-To:
Choosing a SAST Tool
GIVEN THE WIDE RANGE OF SOURCE CODE ANALYSIS
TOOLS, SECURITY PROFESSIONALS, AUDITORS AND
DEVELOPERS ALIKE ARE FACED WITH THE QUESTION:
How to assess a Static Application Security Testing (SAST)
tool for deployment?
Choosing the right tool requires different considerations
during each stage of the SAST tool evaluation process.
Evaluation Preparation
The following qualifiers are required prior to testing the SAST tool in order to set initial
expectations:
1.

List of languages. Ensure that the SAST tool supports the languages in the development
environment.

2.

Access to source and binary files. Some SAST tools run only on the source code files
(pre-compilation scanning), while others run on the binaries (post-compilation scanning).
As opposed to scanning on the source code, post-compilation scanning requires all project
dependences in order to run the scan.

3.

Deployment. Confirm the SAST tool supports the preferred mode of operation - on premise
or on-demand.

4.

Parties within the organization responsible for code security. Define how code security is
managed within the organization. For example, one organization might prefer having a
dedicated team – such as code auditors or an application security team – which provides
the security services to the organization.
While another organization might decide that each development team has an individual
responsible for the security. Each of these management models influences the SAST tool
architectural setup- including licenses, deployment and tool’s usage.

1
www.checkmarx.com
Source Code Analysis Made Easy

STAGE

1

Installation

Ease of installation during this step includes:
1.

Resources. Evaluate whether installation of the SAST tool is manual or automated.
If manual, consider whether installation requires specialized knowledge as well as the
number of installation man-hours.

2.

Scalability. Client software installation requires developer down-time during installation
and additional installation time per endpoint. A centrally-managed installation is a
one-time only process where additional servers can be added without the need for system
duplication.

3.

Licenses. Some licensing schemes are distributed where each endpoint requires its own license.
In other cases, the license is centrally-managed and is on a per-user basis, eliminating the need
for multiple licenses.

STAGE

2

Set-up

Two measuring factors need to be considered:
1.

Effort and complexity
o
Simplicity. Scanning overhead should be kept to a minimum. Scanning source
code should not require the user to perform excessive operations to start
running the tool.
o
Scaling to other languages. Adding a new language should be seamless to the
environment and should not entail a new scanning setup to support the
language.

2.

Time Scanning – regardless of the SAST tool - takes time.
The point here is to consider the SAST features, or the different scanning methods, that
the SAST tool provides to speed up the scanning process. For example, being able to
scan portions of the code is particularly helpful when there are lots of developers and
code to scan.

2
www.checkmarx.com
STAGE

3

Source Code Analysis Made Easy

Scan capabilities

Scanning capabilities include:
1.
Range of supported languages. The SAST tool should not merely support the current
development languages (as specified when qualifying the tool). It should also support
emerging technologies as these may prove to be significant in the long run. For example,
mobile or updated development languages (e.g Android, Objective C, Ruby on Rails).
2.

Range of supported frameworks. Supporting the development’s framework allows the
SAST tool to identify coding vulnerabilities, as well as to eliminate any false reporting
that results from not recognizing the framework.

3.

Multiple scans. The ability to run simultaneous scans or support multi-chaining,
multi-threading or multi-core processing environments.

4.

Vulnerability coverage. There are different classes of vulnerabilities that
the SAST tool should address:
o
Technical security vulnerabilities. Detection of common vulnerabilities as identified
by different industry standards such as OWASP Top 10, SANS and CWE.
Since the vulnerability taxonomy and ratings differ by each SAST vendor, it is
necessary to receive from each SAST vendor their list and normalize them
one against the other for a true vulnerability coverage comparison.
o
Business logic flaws. These include authentication by-passing mechanisms, as well
as backdoors in the application.
o
Best coding practices. For example, error handling, elements usage and race conditions.

5.

Result accuracy. To ensure the accuracy of the results, the tool should scan and its output
compared against a test application for which the results are known a-priori.
One such common test bed is OWASP’s WebGoat project. However, the real test should be
against an in-house application- unknown to the tool – to prevent the tool from being tuned in
advanced to the testing environment.
Result accuracy is measured by:
o
Amount of True Positives (TPs). The percentage of results that have been correctly
identified as actual vulnerabilities.
o
Amount of False Positives (FPs). Although there is no such SAST tool today that
will output a totally FP-free scan, the ideal is to achieve a minimal amount
– up until a handful of these.

6.

Customizability. The ability to adapt the scan results to the specific software frameworks
and business logic of the organization. Each organization uses its' own framework for
accessing databases and sanitizing input data and so the SAST tool must be customizable
to the proprietary code. This capability also eliminates false positives that occur due to the
custom code and the organization’s business logic.

3
www.checkmarx.com
Source Code Analysis Made Easy

7.

Ability to aggregate scans. Aggregation allows all the scans of the project to be displayed as a
whole.

STAGE

4

Results Management

Scan results need to be presented in a clear manner to enable convenient and quick fixing.
1.

Results analysis and management tools. Results analysis should provide the user with the
relevant security intelligence and tools to remediate flaws in virtually zero-time.
o
Vulnerability flow. Visibility into the code flow down to the exact line
of the vulnerable
code helps developers to understand the vulnerability flow and its meaning.
o
Best fix locations. Optimal vulnerability remediation can be presented in textual or visual
formats. For example, the ability to pinpoint the precise vulnerability which- if
fixed-eliminates all vulnerabilities that depend on that particular code flaw.
o
Tagging and filtering capabilities. Users should be able to group results according to
policies, and prioritize results from highly important to un-exploitable. Further, the tools
should provide the ability to filter out results as in the case of a test directory.
o
Ability to track projects. The scan tool should be able to keep the status of vulnerabilities
between scans for tracking purposes.
o
Scan comparison. The SAST tool should enable the comparison of results from one scan
to another to monitor the state of vulnerabilities.

2.

Reports. The tool should provide multiple layers of reporting.
o
Dashboard. Provides a typical executive summary section with a high-level overview
of the state of the application’s code.
o
Reports per policy. The ability to configure a report to present only relevant information.
For example, PCI.

STAGE

5

Integration into the SDLC

There are both logical and technological aspects when integrating source code analysis within
the Software Development Life Cycle (SDLC):
1.

SDLC model. Measurements include:
o
Early-stage scanning. Scanning early supports SDLC’s fundamental concept of fixing
code flaws – including security vulnerabilities - as early as possible within the
development process. Various SAST tools provide the ability to scan code prior to
code compilation, or before the code’s check-in.
4
www.checkmarx.com
Source Code Analysis Made Easy

Support for secure Agile development and Continuous Deployment environments.
Agile and Continuous Deployment (aka DevOps) mandate that scanning must be
done within minutes, and cannot tolerate any latency due to excessive processing,
scanning overhead and fixing. Accordingly, the SAST tool should enable the
developers to perform ad-hoc scanning from within their development
environments.
Rescanning. Rescanning a project should not require the redundant scanning of
files previously analyzed. For example, SAST tools with incremental scanning features
scan only the code – and its dependencies – that were modified from the previous scan.

o

o

2.

SDLC tools. The SAST tool should be able to incorporate, as-if naturally, within the enterprise
systems without requiring extra tuning or configuration. The point here is not only to save
developer time but also making security part of the development process.
Suggested integration points include:
o
Development environment. The SAST tool needs to seamlessly fit into the
development environment – regardless of language and compiler versions.
This also includes integration within the IDE-development tool (e.g. Visual Studio,
Eclipse, IntelliJ).
o
Build management tools. e.g. TeamCity, Bamboo, Jenkins, Maven and Ant.
o
Source-code repositories. e.g. GIT, SVN, TFS, Mercurial, ClearCase. Several SAST tools
can run within the source code repository, without even requiring a build management
system.
o
Bug-tracking system. The SAST tool should be able to inject results of the scan into bug
tracking systems to prioritize vulnerability fixing according to release schedule, time
to fix, vulnerability impact, and how it fits with other tasks.

STAGE

6

Responsiveness and Support of Vendor

Last but not least, a SAST purchase is an ongoing process. Just like any tool, there may be questions
regarding its usage, best practices and of course, customizability aspects. Consider the following
services from the vendor:
-

Implementation of customized SAST queries (aka rules) and policies for your
proprietary code
Engineer support and training for the SAST tool users
Account manager to accompany your organization throughout the lifetime of
the SAST tool
Availability and responsiveness to inquiries throughout the lifetime of the SAST tool

5
www.checkmarx.com
Ad

More Related Content

What's hot (20)

Myths of validation
Myths of validationMyths of validation
Myths of validation
Jeff Thomas
 
Towards new shores with cross-system SoD analyses. [Webinar]
Towards new shores with cross-system SoD analyses. [Webinar]Towards new shores with cross-system SoD analyses. [Webinar]
Towards new shores with cross-system SoD analyses. [Webinar]
akquinet enterprise solutions GmbH
 
System Analysis and Design Program
System Analysis and Design ProgramSystem Analysis and Design Program
System Analysis and Design Program
Flevy.com Best Practices
 
Internal Audit Solution
Internal Audit Solution Internal Audit Solution
Internal Audit Solution
MetricStream Inc
 
Challenges in Assessing Technical Debt based on Dynamic Runtime Data
Challenges in Assessing Technical Debt based on Dynamic Runtime DataChallenges in Assessing Technical Debt based on Dynamic Runtime Data
Challenges in Assessing Technical Debt based on Dynamic Runtime Data
QAware GmbH
 
SAP Security & Compliance Audits. Find your vulnerabilities before you get hu...
SAP Security & Compliance Audits. Find your vulnerabilities before you get hu...SAP Security & Compliance Audits. Find your vulnerabilities before you get hu...
SAP Security & Compliance Audits. Find your vulnerabilities before you get hu...
akquinet enterprise solutions GmbH
 
Data Security Service Offering-v3
Data Security Service Offering-v3Data Security Service Offering-v3
Data Security Service Offering-v3
Abe Newton
 
CAST Architecture Checker
CAST Architecture CheckerCAST Architecture Checker
CAST Architecture Checker
CAST
 
Fisma FedRAMP Drupal
Fisma FedRAMP DrupalFisma FedRAMP Drupal
Fisma FedRAMP Drupal
Mike Lemire
 
Secerno SQLagile datasheet
Secerno SQLagile datasheetSecerno SQLagile datasheet
Secerno SQLagile datasheet
Paul Tompsett
 
Network Security Offering by GSS America
Network  Security Offering by GSS AmericaNetwork  Security Offering by GSS America
Network Security Offering by GSS America
Gss America
 
Case In Point
Case In PointCase In Point
Case In Point
Daniel Boisvert
 
ISACA Complied Arabic English Glossary for use in Governance applications and...
ISACA Complied Arabic English Glossary for use in Governance applications and...ISACA Complied Arabic English Glossary for use in Governance applications and...
ISACA Complied Arabic English Glossary for use in Governance applications and...
Tamer Shoukry
 
RMF Step 4: ASSESS (NIST SP 800-53A Rev.1)
RMF Step 4: ASSESS (NIST SP 800-53A Rev.1)RMF Step 4: ASSESS (NIST SP 800-53A Rev.1)
RMF Step 4: ASSESS (NIST SP 800-53A Rev.1)
James W. De Rienzo
 
Clinical Trial Management System Implementation Guide
Clinical Trial Management System Implementation GuideClinical Trial Management System Implementation Guide
Clinical Trial Management System Implementation Guide
Perficient, Inc.
 
FedRAMP - Federal Agencies & Cloud Service Providers meet FISMA 2.0
FedRAMP - Federal Agencies & Cloud Service Providers meet FISMA 2.0FedRAMP - Federal Agencies & Cloud Service Providers meet FISMA 2.0
FedRAMP - Federal Agencies & Cloud Service Providers meet FISMA 2.0
Valdez Ladd MBA, CISSP, CISA,
 
Cometari Dedicated Solutions General Offer
Cometari Dedicated Solutions General OfferCometari Dedicated Solutions General Offer
Cometari Dedicated Solutions General Offer
Jakub Hajek
 
Gigamon U - Net Scouts Honor, Integrated Performance Monitoring & Forensic An...
Gigamon U - Net Scouts Honor, Integrated Performance Monitoring & Forensic An...Gigamon U - Net Scouts Honor, Integrated Performance Monitoring & Forensic An...
Gigamon U - Net Scouts Honor, Integrated Performance Monitoring & Forensic An...
Grant Swanson
 
Real-time QC for Factories Whitepaper
Real-time QC for Factories WhitepaperReal-time QC for Factories Whitepaper
Real-time QC for Factories Whitepaper
Chang Phui-Hock
 
End to-end root cause analysis minimize the time to incident resolution
End to-end root cause analysis minimize the time to incident resolutionEnd to-end root cause analysis minimize the time to incident resolution
End to-end root cause analysis minimize the time to incident resolution
Cleo Filho
 
Myths of validation
Myths of validationMyths of validation
Myths of validation
Jeff Thomas
 
Challenges in Assessing Technical Debt based on Dynamic Runtime Data
Challenges in Assessing Technical Debt based on Dynamic Runtime DataChallenges in Assessing Technical Debt based on Dynamic Runtime Data
Challenges in Assessing Technical Debt based on Dynamic Runtime Data
QAware GmbH
 
SAP Security & Compliance Audits. Find your vulnerabilities before you get hu...
SAP Security & Compliance Audits. Find your vulnerabilities before you get hu...SAP Security & Compliance Audits. Find your vulnerabilities before you get hu...
SAP Security & Compliance Audits. Find your vulnerabilities before you get hu...
akquinet enterprise solutions GmbH
 
Data Security Service Offering-v3
Data Security Service Offering-v3Data Security Service Offering-v3
Data Security Service Offering-v3
Abe Newton
 
CAST Architecture Checker
CAST Architecture CheckerCAST Architecture Checker
CAST Architecture Checker
CAST
 
Fisma FedRAMP Drupal
Fisma FedRAMP DrupalFisma FedRAMP Drupal
Fisma FedRAMP Drupal
Mike Lemire
 
Secerno SQLagile datasheet
Secerno SQLagile datasheetSecerno SQLagile datasheet
Secerno SQLagile datasheet
Paul Tompsett
 
Network Security Offering by GSS America
Network  Security Offering by GSS AmericaNetwork  Security Offering by GSS America
Network Security Offering by GSS America
Gss America
 
ISACA Complied Arabic English Glossary for use in Governance applications and...
ISACA Complied Arabic English Glossary for use in Governance applications and...ISACA Complied Arabic English Glossary for use in Governance applications and...
ISACA Complied Arabic English Glossary for use in Governance applications and...
Tamer Shoukry
 
RMF Step 4: ASSESS (NIST SP 800-53A Rev.1)
RMF Step 4: ASSESS (NIST SP 800-53A Rev.1)RMF Step 4: ASSESS (NIST SP 800-53A Rev.1)
RMF Step 4: ASSESS (NIST SP 800-53A Rev.1)
James W. De Rienzo
 
Clinical Trial Management System Implementation Guide
Clinical Trial Management System Implementation GuideClinical Trial Management System Implementation Guide
Clinical Trial Management System Implementation Guide
Perficient, Inc.
 
FedRAMP - Federal Agencies & Cloud Service Providers meet FISMA 2.0
FedRAMP - Federal Agencies & Cloud Service Providers meet FISMA 2.0FedRAMP - Federal Agencies & Cloud Service Providers meet FISMA 2.0
FedRAMP - Federal Agencies & Cloud Service Providers meet FISMA 2.0
Valdez Ladd MBA, CISSP, CISA,
 
Cometari Dedicated Solutions General Offer
Cometari Dedicated Solutions General OfferCometari Dedicated Solutions General Offer
Cometari Dedicated Solutions General Offer
Jakub Hajek
 
Gigamon U - Net Scouts Honor, Integrated Performance Monitoring & Forensic An...
Gigamon U - Net Scouts Honor, Integrated Performance Monitoring & Forensic An...Gigamon U - Net Scouts Honor, Integrated Performance Monitoring & Forensic An...
Gigamon U - Net Scouts Honor, Integrated Performance Monitoring & Forensic An...
Grant Swanson
 
Real-time QC for Factories Whitepaper
Real-time QC for Factories WhitepaperReal-time QC for Factories Whitepaper
Real-time QC for Factories Whitepaper
Chang Phui-Hock
 
End to-end root cause analysis minimize the time to incident resolution
End to-end root cause analysis minimize the time to incident resolutionEnd to-end root cause analysis minimize the time to incident resolution
End to-end root cause analysis minimize the time to incident resolution
Cleo Filho
 

Viewers also liked (20)

Master's Thesis Defense
Master's Thesis DefenseMaster's Thesis Defense
Master's Thesis Defense
lqi
 
Static Analysis in IDEA
Static Analysis in IDEAStatic Analysis in IDEA
Static Analysis in IDEA
HamletDRC
 
Fortify technology
Fortify technologyFortify technology
Fortify technology
Imad Nom de famille
 
200 Open Source Projects Later: Source Code Static Analysis Experience
200 Open Source Projects Later: Source Code Static Analysis Experience200 Open Source Projects Later: Source Code Static Analysis Experience
200 Open Source Projects Later: Source Code Static Analysis Experience
Andrey Karpov
 
Static code analysis
Static code analysisStatic code analysis
Static code analysis
Rune Sundling
 
use case point estimation
use case point estimationuse case point estimation
use case point estimation
عبدالغني الهجار
 
Source Code Scanners
Source Code ScannersSource Code Scanners
Source Code Scanners
Pawel Krawczyk
 
Static code analysis
Static code analysisStatic code analysis
Static code analysis
mashaathukorala
 
Best Practices of Static Code Analysis in the SDLC
Best Practices of Static Code Analysis in the SDLCBest Practices of Static Code Analysis in the SDLC
Best Practices of Static Code Analysis in the SDLC
Parasoft_Mitchell
 
Poster Analysis Source Code
Poster Analysis Source CodePoster Analysis Source Code
Poster Analysis Source Code
kirstysals
 
Static Analysis and Code Optimizations in Glasgow Haskell Compiler
Static Analysis and Code Optimizations in Glasgow Haskell CompilerStatic Analysis and Code Optimizations in Glasgow Haskell Compiler
Static Analysis and Code Optimizations in Glasgow Haskell Compiler
Ilya Sergey
 
685163main 2 4-a-swat_extendingbenefitsofstaticcodeanalysistools_final
685163main 2 4-a-swat_extendingbenefitsofstaticcodeanalysistools_final685163main 2 4-a-swat_extendingbenefitsofstaticcodeanalysistools_final
685163main 2 4-a-swat_extendingbenefitsofstaticcodeanalysistools_final
Šumadin Šumić
 
Fortify dev ops (002)
Fortify   dev ops (002)Fortify   dev ops (002)
Fortify dev ops (002)
Madhavan Marimuthu
 
Hp Fortify Pillar
Hp Fortify PillarHp Fortify Pillar
Hp Fortify Pillar
Ed Wong
 
Static Code Analysis
Static Code AnalysisStatic Code Analysis
Static Code Analysis
Annyce Davis
 
Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)
Nagaraju Repala
 
Java Code Quality Tools
Java Code Quality ToolsJava Code Quality Tools
Java Code Quality Tools
Orest Ivasiv
 
Fortify - Source Code Analyzer
Fortify - Source Code AnalyzerFortify - Source Code Analyzer
Fortify - Source Code Analyzer
n|u - The Open Security Community
 
Hp Fortify Mobile Application Security
Hp Fortify Mobile Application SecurityHp Fortify Mobile Application Security
Hp Fortify Mobile Application Security
Ed Wong
 
static ABAP code analyzers
static ABAP code analyzersstatic ABAP code analyzers
static ABAP code analyzers
Markus Theilen
 
Master's Thesis Defense
Master's Thesis DefenseMaster's Thesis Defense
Master's Thesis Defense
lqi
 
Static Analysis in IDEA
Static Analysis in IDEAStatic Analysis in IDEA
Static Analysis in IDEA
HamletDRC
 
200 Open Source Projects Later: Source Code Static Analysis Experience
200 Open Source Projects Later: Source Code Static Analysis Experience200 Open Source Projects Later: Source Code Static Analysis Experience
200 Open Source Projects Later: Source Code Static Analysis Experience
Andrey Karpov
 
Static code analysis
Static code analysisStatic code analysis
Static code analysis
Rune Sundling
 
Best Practices of Static Code Analysis in the SDLC
Best Practices of Static Code Analysis in the SDLCBest Practices of Static Code Analysis in the SDLC
Best Practices of Static Code Analysis in the SDLC
Parasoft_Mitchell
 
Poster Analysis Source Code
Poster Analysis Source CodePoster Analysis Source Code
Poster Analysis Source Code
kirstysals
 
Static Analysis and Code Optimizations in Glasgow Haskell Compiler
Static Analysis and Code Optimizations in Glasgow Haskell CompilerStatic Analysis and Code Optimizations in Glasgow Haskell Compiler
Static Analysis and Code Optimizations in Glasgow Haskell Compiler
Ilya Sergey
 
685163main 2 4-a-swat_extendingbenefitsofstaticcodeanalysistools_final
685163main 2 4-a-swat_extendingbenefitsofstaticcodeanalysistools_final685163main 2 4-a-swat_extendingbenefitsofstaticcodeanalysistools_final
685163main 2 4-a-swat_extendingbenefitsofstaticcodeanalysistools_final
Šumadin Šumić
 
Hp Fortify Pillar
Hp Fortify PillarHp Fortify Pillar
Hp Fortify Pillar
Ed Wong
 
Static Code Analysis
Static Code AnalysisStatic Code Analysis
Static Code Analysis
Annyce Davis
 
Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)
Nagaraju Repala
 
Java Code Quality Tools
Java Code Quality ToolsJava Code Quality Tools
Java Code Quality Tools
Orest Ivasiv
 
Hp Fortify Mobile Application Security
Hp Fortify Mobile Application SecurityHp Fortify Mobile Application Security
Hp Fortify Mobile Application Security
Ed Wong
 
static ABAP code analyzers
static ABAP code analyzersstatic ABAP code analyzers
static ABAP code analyzers
Markus Theilen
 
Ad

Similar to The App Sec How-To: Choosing a SAST Tool (20)

A Successful SAST Tool Implementation
A Successful SAST Tool ImplementationA Successful SAST Tool Implementation
A Successful SAST Tool Implementation
Checkmarx
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
jack952975
 
OWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideOWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference Guide
Aryan G
 
AppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsAppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOps
Checkmarx
 
Identifying Software Performance Bottlenecks Using Diagnostic Tools- Impetus ...
Identifying Software Performance Bottlenecks Using Diagnostic Tools- Impetus ...Identifying Software Performance Bottlenecks Using Diagnostic Tools- Impetus ...
Identifying Software Performance Bottlenecks Using Diagnostic Tools- Impetus ...
Impetus Technologies
 
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Mobodexter
 
Coverity Data Sheet
Coverity Data SheetCoverity Data Sheet
Coverity Data Sheet
Jon Lundquist
 
Acunetix Training and ScanAssist
Acunetix Training and ScanAssistAcunetix Training and ScanAssist
Acunetix Training and ScanAssist
Bryan Ferrario
 
Avnish
AvnishAvnish
Avnish
Avnish Dubey
 
Maturity of-code-mgmt-2016-04-06
Maturity of-code-mgmt-2016-04-06Maturity of-code-mgmt-2016-04-06
Maturity of-code-mgmt-2016-04-06
Bogusz Jelinski
 
Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3
Techpartnerz
 
Using Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security ProblemsUsing Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security Problems
kiansahafi
 
How to Use Static Application Security Testing for Web Applications
How to Use Static Application Security Testing for Web ApplicationsHow to Use Static Application Security Testing for Web Applications
How to Use Static Application Security Testing for Web Applications
Dev Software
 
How to Use Static Application Security Testing for Web Applications.pptx
How to Use Static Application Security Testing for Web Applications.pptxHow to Use Static Application Security Testing for Web Applications.pptx
How to Use Static Application Security Testing for Web Applications.pptx
Dev Software
 
micro-focus-fortify-and-sonatype-deliver-360-degree-view-of-application-secur...
micro-focus-fortify-and-sonatype-deliver-360-degree-view-of-application-secur...micro-focus-fortify-and-sonatype-deliver-360-degree-view-of-application-secur...
micro-focus-fortify-and-sonatype-deliver-360-degree-view-of-application-secur...
bv48jfdwv4
 
Tideway Software Identification
Tideway   Software IdentificationTideway   Software Identification
Tideway Software Identification
Peter Grant
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdf
Kamal Acharya
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
mrsmackenzie
 
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis OverviewSAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP Technology
 
A Successful SAST Tool Implementation
A Successful SAST Tool ImplementationA Successful SAST Tool Implementation
A Successful SAST Tool Implementation
Checkmarx
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
jack952975
 
OWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideOWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference Guide
Aryan G
 
AppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsAppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOps
Checkmarx
 
Identifying Software Performance Bottlenecks Using Diagnostic Tools- Impetus ...
Identifying Software Performance Bottlenecks Using Diagnostic Tools- Impetus ...Identifying Software Performance Bottlenecks Using Diagnostic Tools- Impetus ...
Identifying Software Performance Bottlenecks Using Diagnostic Tools- Impetus ...
Impetus Technologies
 
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Mobodexter
 
Acunetix Training and ScanAssist
Acunetix Training and ScanAssistAcunetix Training and ScanAssist
Acunetix Training and ScanAssist
Bryan Ferrario
 
Maturity of-code-mgmt-2016-04-06
Maturity of-code-mgmt-2016-04-06Maturity of-code-mgmt-2016-04-06
Maturity of-code-mgmt-2016-04-06
Bogusz Jelinski
 
Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3
Techpartnerz
 
Using Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security ProblemsUsing Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security Problems
kiansahafi
 
How to Use Static Application Security Testing for Web Applications
How to Use Static Application Security Testing for Web ApplicationsHow to Use Static Application Security Testing for Web Applications
How to Use Static Application Security Testing for Web Applications
Dev Software
 
How to Use Static Application Security Testing for Web Applications.pptx
How to Use Static Application Security Testing for Web Applications.pptxHow to Use Static Application Security Testing for Web Applications.pptx
How to Use Static Application Security Testing for Web Applications.pptx
Dev Software
 
micro-focus-fortify-and-sonatype-deliver-360-degree-view-of-application-secur...
micro-focus-fortify-and-sonatype-deliver-360-degree-view-of-application-secur...micro-focus-fortify-and-sonatype-deliver-360-degree-view-of-application-secur...
micro-focus-fortify-and-sonatype-deliver-360-degree-view-of-application-secur...
bv48jfdwv4
 
Tideway Software Identification
Tideway   Software IdentificationTideway   Software Identification
Tideway Software Identification
Peter Grant
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdf
Kamal Acharya
 
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis OverviewSAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP Technology
 
Ad

More from Checkmarx (12)

Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners
Checkmarx
 
The Web AppSec How-To: The Defender's Toolbox
The Web AppSec How-To: The Defender's ToolboxThe Web AppSec How-To: The Defender's Toolbox
The Web AppSec How-To: The Defender's Toolbox
Checkmarx
 
10 Tips to Keep Your Software a Step Ahead of the Hackers
10 Tips to Keep Your Software a Step Ahead of the Hackers10 Tips to Keep Your Software a Step Ahead of the Hackers
10 Tips to Keep Your Software a Step Ahead of the Hackers
Checkmarx
 
The 5 Biggest Benefits of Source Code Analysis
The 5 Biggest Benefits of Source Code AnalysisThe 5 Biggest Benefits of Source Code Analysis
The 5 Biggest Benefits of Source Code Analysis
Checkmarx
 
A Platform for Application Risk Intelligence
A Platform for Application Risk IntelligenceA Platform for Application Risk Intelligence
A Platform for Application Risk Intelligence
Checkmarx
 
How Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisHow Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code Analysis
Checkmarx
 
Source Code vs. Binary Code Analysis
Source Code vs. Binary Code AnalysisSource Code vs. Binary Code Analysis
Source Code vs. Binary Code Analysis
Checkmarx
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & Now
Checkmarx
 
The Security State of The Most Popular WordPress Plug-Ins
The Security State of The Most Popular WordPress Plug-InsThe Security State of The Most Popular WordPress Plug-Ins
The Security State of The Most Popular WordPress Plug-Ins
Checkmarx
 
10 Steps To Secure Agile Development
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile Development
Checkmarx
 
Graph Visualization - OWASP NYC Chapter
Graph Visualization - OWASP NYC ChapterGraph Visualization - OWASP NYC Chapter
Graph Visualization - OWASP NYC Chapter
Checkmarx
 
Happy New Year!
Happy New Year!Happy New Year!
Happy New Year!
Checkmarx
 
Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners
Checkmarx
 
The Web AppSec How-To: The Defender's Toolbox
The Web AppSec How-To: The Defender's ToolboxThe Web AppSec How-To: The Defender's Toolbox
The Web AppSec How-To: The Defender's Toolbox
Checkmarx
 
10 Tips to Keep Your Software a Step Ahead of the Hackers
10 Tips to Keep Your Software a Step Ahead of the Hackers10 Tips to Keep Your Software a Step Ahead of the Hackers
10 Tips to Keep Your Software a Step Ahead of the Hackers
Checkmarx
 
The 5 Biggest Benefits of Source Code Analysis
The 5 Biggest Benefits of Source Code AnalysisThe 5 Biggest Benefits of Source Code Analysis
The 5 Biggest Benefits of Source Code Analysis
Checkmarx
 
A Platform for Application Risk Intelligence
A Platform for Application Risk IntelligenceA Platform for Application Risk Intelligence
A Platform for Application Risk Intelligence
Checkmarx
 
How Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisHow Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code Analysis
Checkmarx
 
Source Code vs. Binary Code Analysis
Source Code vs. Binary Code AnalysisSource Code vs. Binary Code Analysis
Source Code vs. Binary Code Analysis
Checkmarx
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & Now
Checkmarx
 
The Security State of The Most Popular WordPress Plug-Ins
The Security State of The Most Popular WordPress Plug-InsThe Security State of The Most Popular WordPress Plug-Ins
The Security State of The Most Popular WordPress Plug-Ins
Checkmarx
 
10 Steps To Secure Agile Development
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile Development
Checkmarx
 
Graph Visualization - OWASP NYC Chapter
Graph Visualization - OWASP NYC ChapterGraph Visualization - OWASP NYC Chapter
Graph Visualization - OWASP NYC Chapter
Checkmarx
 
Happy New Year!
Happy New Year!Happy New Year!
Happy New Year!
Checkmarx
 

Recently uploaded (20)

Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 

The App Sec How-To: Choosing a SAST Tool

  • 1. Source Code Analysis Made Easy The AppSec How-To: Choosing a SAST Tool GIVEN THE WIDE RANGE OF SOURCE CODE ANALYSIS TOOLS, SECURITY PROFESSIONALS, AUDITORS AND DEVELOPERS ALIKE ARE FACED WITH THE QUESTION: How to assess a Static Application Security Testing (SAST) tool for deployment? Choosing the right tool requires different considerations during each stage of the SAST tool evaluation process. Evaluation Preparation The following qualifiers are required prior to testing the SAST tool in order to set initial expectations: 1. List of languages. Ensure that the SAST tool supports the languages in the development environment. 2. Access to source and binary files. Some SAST tools run only on the source code files (pre-compilation scanning), while others run on the binaries (post-compilation scanning). As opposed to scanning on the source code, post-compilation scanning requires all project dependences in order to run the scan. 3. Deployment. Confirm the SAST tool supports the preferred mode of operation - on premise or on-demand. 4. Parties within the organization responsible for code security. Define how code security is managed within the organization. For example, one organization might prefer having a dedicated team – such as code auditors or an application security team – which provides the security services to the organization. While another organization might decide that each development team has an individual responsible for the security. Each of these management models influences the SAST tool architectural setup- including licenses, deployment and tool’s usage. 1 www.checkmarx.com
  • 2. Source Code Analysis Made Easy STAGE 1 Installation Ease of installation during this step includes: 1. Resources. Evaluate whether installation of the SAST tool is manual or automated. If manual, consider whether installation requires specialized knowledge as well as the number of installation man-hours. 2. Scalability. Client software installation requires developer down-time during installation and additional installation time per endpoint. A centrally-managed installation is a one-time only process where additional servers can be added without the need for system duplication. 3. Licenses. Some licensing schemes are distributed where each endpoint requires its own license. In other cases, the license is centrally-managed and is on a per-user basis, eliminating the need for multiple licenses. STAGE 2 Set-up Two measuring factors need to be considered: 1. Effort and complexity o Simplicity. Scanning overhead should be kept to a minimum. Scanning source code should not require the user to perform excessive operations to start running the tool. o Scaling to other languages. Adding a new language should be seamless to the environment and should not entail a new scanning setup to support the language. 2. Time Scanning – regardless of the SAST tool - takes time. The point here is to consider the SAST features, or the different scanning methods, that the SAST tool provides to speed up the scanning process. For example, being able to scan portions of the code is particularly helpful when there are lots of developers and code to scan. 2 www.checkmarx.com
  • 3. STAGE 3 Source Code Analysis Made Easy Scan capabilities Scanning capabilities include: 1. Range of supported languages. The SAST tool should not merely support the current development languages (as specified when qualifying the tool). It should also support emerging technologies as these may prove to be significant in the long run. For example, mobile or updated development languages (e.g Android, Objective C, Ruby on Rails). 2. Range of supported frameworks. Supporting the development’s framework allows the SAST tool to identify coding vulnerabilities, as well as to eliminate any false reporting that results from not recognizing the framework. 3. Multiple scans. The ability to run simultaneous scans or support multi-chaining, multi-threading or multi-core processing environments. 4. Vulnerability coverage. There are different classes of vulnerabilities that the SAST tool should address: o Technical security vulnerabilities. Detection of common vulnerabilities as identified by different industry standards such as OWASP Top 10, SANS and CWE. Since the vulnerability taxonomy and ratings differ by each SAST vendor, it is necessary to receive from each SAST vendor their list and normalize them one against the other for a true vulnerability coverage comparison. o Business logic flaws. These include authentication by-passing mechanisms, as well as backdoors in the application. o Best coding practices. For example, error handling, elements usage and race conditions. 5. Result accuracy. To ensure the accuracy of the results, the tool should scan and its output compared against a test application for which the results are known a-priori. One such common test bed is OWASP’s WebGoat project. However, the real test should be against an in-house application- unknown to the tool – to prevent the tool from being tuned in advanced to the testing environment. Result accuracy is measured by: o Amount of True Positives (TPs). The percentage of results that have been correctly identified as actual vulnerabilities. o Amount of False Positives (FPs). Although there is no such SAST tool today that will output a totally FP-free scan, the ideal is to achieve a minimal amount – up until a handful of these. 6. Customizability. The ability to adapt the scan results to the specific software frameworks and business logic of the organization. Each organization uses its' own framework for accessing databases and sanitizing input data and so the SAST tool must be customizable to the proprietary code. This capability also eliminates false positives that occur due to the custom code and the organization’s business logic. 3 www.checkmarx.com
  • 4. Source Code Analysis Made Easy 7. Ability to aggregate scans. Aggregation allows all the scans of the project to be displayed as a whole. STAGE 4 Results Management Scan results need to be presented in a clear manner to enable convenient and quick fixing. 1. Results analysis and management tools. Results analysis should provide the user with the relevant security intelligence and tools to remediate flaws in virtually zero-time. o Vulnerability flow. Visibility into the code flow down to the exact line of the vulnerable code helps developers to understand the vulnerability flow and its meaning. o Best fix locations. Optimal vulnerability remediation can be presented in textual or visual formats. For example, the ability to pinpoint the precise vulnerability which- if fixed-eliminates all vulnerabilities that depend on that particular code flaw. o Tagging and filtering capabilities. Users should be able to group results according to policies, and prioritize results from highly important to un-exploitable. Further, the tools should provide the ability to filter out results as in the case of a test directory. o Ability to track projects. The scan tool should be able to keep the status of vulnerabilities between scans for tracking purposes. o Scan comparison. The SAST tool should enable the comparison of results from one scan to another to monitor the state of vulnerabilities. 2. Reports. The tool should provide multiple layers of reporting. o Dashboard. Provides a typical executive summary section with a high-level overview of the state of the application’s code. o Reports per policy. The ability to configure a report to present only relevant information. For example, PCI. STAGE 5 Integration into the SDLC There are both logical and technological aspects when integrating source code analysis within the Software Development Life Cycle (SDLC): 1. SDLC model. Measurements include: o Early-stage scanning. Scanning early supports SDLC’s fundamental concept of fixing code flaws – including security vulnerabilities - as early as possible within the development process. Various SAST tools provide the ability to scan code prior to code compilation, or before the code’s check-in. 4 www.checkmarx.com
  • 5. Source Code Analysis Made Easy Support for secure Agile development and Continuous Deployment environments. Agile and Continuous Deployment (aka DevOps) mandate that scanning must be done within minutes, and cannot tolerate any latency due to excessive processing, scanning overhead and fixing. Accordingly, the SAST tool should enable the developers to perform ad-hoc scanning from within their development environments. Rescanning. Rescanning a project should not require the redundant scanning of files previously analyzed. For example, SAST tools with incremental scanning features scan only the code – and its dependencies – that were modified from the previous scan. o o 2. SDLC tools. The SAST tool should be able to incorporate, as-if naturally, within the enterprise systems without requiring extra tuning or configuration. The point here is not only to save developer time but also making security part of the development process. Suggested integration points include: o Development environment. The SAST tool needs to seamlessly fit into the development environment – regardless of language and compiler versions. This also includes integration within the IDE-development tool (e.g. Visual Studio, Eclipse, IntelliJ). o Build management tools. e.g. TeamCity, Bamboo, Jenkins, Maven and Ant. o Source-code repositories. e.g. GIT, SVN, TFS, Mercurial, ClearCase. Several SAST tools can run within the source code repository, without even requiring a build management system. o Bug-tracking system. The SAST tool should be able to inject results of the scan into bug tracking systems to prioritize vulnerability fixing according to release schedule, time to fix, vulnerability impact, and how it fits with other tasks. STAGE 6 Responsiveness and Support of Vendor Last but not least, a SAST purchase is an ongoing process. Just like any tool, there may be questions regarding its usage, best practices and of course, customizability aspects. Consider the following services from the vendor: - Implementation of customized SAST queries (aka rules) and policies for your proprietary code Engineer support and training for the SAST tool users Account manager to accompany your organization throughout the lifetime of the SAST tool Availability and responsiveness to inquiries throughout the lifetime of the SAST tool 5 www.checkmarx.com