SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Myths of validation
Myths of validationMyths of validation
Myths of validationJeff 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 DataQAware 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-v3Abe Newton
 
CAST Architecture Checker
CAST Architecture CheckerCAST Architecture Checker
CAST Architecture CheckerCAST
 
Fisma FedRAMP Drupal
Fisma FedRAMP DrupalFisma FedRAMP Drupal
Fisma FedRAMP DrupalMike Lemire
 
Secerno SQLagile datasheet
Secerno SQLagile datasheetSecerno SQLagile datasheet
Secerno SQLagile datasheetPaul Tompsett
 
Network Security Offering by GSS America
Network  Security Offering by GSS AmericaNetwork  Security Offering by GSS America
Network Security Offering by GSS AmericaGss 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 GuidePerficient, 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.0Valdez Ladd MBA, CISSP, CISA,
 
Cometari Dedicated Solutions General Offer
Cometari Dedicated Solutions General OfferCometari Dedicated Solutions General Offer
Cometari Dedicated Solutions General OfferJakub 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 WhitepaperChang 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 resolutionCleo Filho
 

Was ist angesagt? (20)

Myths of validation
Myths of validationMyths of validation
Myths of validation
 
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]
 
System Analysis and Design Program
System Analysis and Design ProgramSystem Analysis and Design Program
System Analysis and Design Program
 
Internal Audit Solution
Internal Audit Solution Internal Audit Solution
Internal Audit Solution
 
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
 
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...
 
Data Security Service Offering-v3
Data Security Service Offering-v3Data Security Service Offering-v3
Data Security Service Offering-v3
 
CAST Architecture Checker
CAST Architecture CheckerCAST Architecture Checker
CAST Architecture Checker
 
Fisma FedRAMP Drupal
Fisma FedRAMP DrupalFisma FedRAMP Drupal
Fisma FedRAMP Drupal
 
Secerno SQLagile datasheet
Secerno SQLagile datasheetSecerno SQLagile datasheet
Secerno SQLagile datasheet
 
Network Security Offering by GSS America
Network  Security Offering by GSS AmericaNetwork  Security Offering by GSS America
Network Security Offering by GSS America
 
Case In Point
Case In PointCase In Point
Case In Point
 
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...
 
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)
 
Clinical Trial Management System Implementation Guide
Clinical Trial Management System Implementation GuideClinical Trial Management System Implementation Guide
Clinical Trial Management System Implementation Guide
 
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
 
Cometari Dedicated Solutions General Offer
Cometari Dedicated Solutions General OfferCometari Dedicated Solutions General Offer
Cometari Dedicated Solutions General Offer
 
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...
 
Real-time QC for Factories Whitepaper
Real-time QC for Factories WhitepaperReal-time QC for Factories Whitepaper
Real-time QC for Factories Whitepaper
 
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
 

Andere mochten auch

Master's Thesis Defense
Master's Thesis DefenseMaster's Thesis Defense
Master's Thesis Defenselqi
 
Static Analysis in IDEA
Static Analysis in IDEAStatic Analysis in IDEA
Static Analysis in IDEAHamletDRC
 
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 ExperienceAndrey Karpov
 
Static code analysis
Static code analysisStatic code analysis
Static code analysisRune 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 SDLCParasoft_Mitchell
 
Poster Analysis Source Code
Poster Analysis Source CodePoster Analysis Source Code
Poster Analysis Source Codekirstysals
 
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 CompilerIlya 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 PillarEd Wong
 
Static Code Analysis
Static Code AnalysisStatic Code Analysis
Static Code AnalysisAnnyce 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 ToolsOrest Ivasiv
 
Hp Fortify Mobile Application Security
Hp Fortify Mobile Application SecurityHp Fortify Mobile Application Security
Hp Fortify Mobile Application SecurityEd Wong
 
static ABAP code analyzers
static ABAP code analyzersstatic ABAP code analyzers
static ABAP code analyzersMarkus Theilen
 

Andere mochten auch (20)

Master's Thesis Defense
Master's Thesis DefenseMaster's Thesis Defense
Master's Thesis Defense
 
Static Analysis in IDEA
Static Analysis in IDEAStatic Analysis in IDEA
Static Analysis in IDEA
 
Fortify technology
Fortify technologyFortify technology
Fortify technology
 
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
 
Static code analysis
Static code analysisStatic code analysis
Static code analysis
 
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
 
Static code analysis
Static code analysisStatic code analysis
Static code analysis
 
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
 
Poster Analysis Source Code
Poster Analysis Source CodePoster Analysis Source Code
Poster Analysis Source Code
 
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
 
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
 
Fortify dev ops (002)
Fortify   dev ops (002)Fortify   dev ops (002)
Fortify dev ops (002)
 
Hp Fortify Pillar
Hp Fortify PillarHp Fortify Pillar
Hp Fortify Pillar
 
Static Code Analysis
Static Code AnalysisStatic Code Analysis
Static Code Analysis
 
Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)
 
Java Code Quality Tools
Java Code Quality ToolsJava Code Quality Tools
Java Code Quality Tools
 
Fortify - Source Code Analyzer
Fortify - Source Code AnalyzerFortify - Source Code Analyzer
Fortify - Source Code Analyzer
 
Hp Fortify Mobile Application Security
Hp Fortify Mobile Application SecurityHp Fortify Mobile Application Security
Hp Fortify Mobile Application Security
 
static ABAP code analyzers
static ABAP code analyzersstatic ABAP code analyzers
static ABAP code analyzers
 

Ähnlich wie The App Sec How-To: Choosing a SAST Tool

A Successful SAST Tool Implementation
A Successful SAST Tool ImplementationA Successful SAST Tool Implementation
A Successful SAST Tool ImplementationCheckmarx
 
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.pptxjack952975
 
OWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideOWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideAryan 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 DevOpsCheckmarx
 
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 ScanAssistBryan 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-06Bogusz 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 3Techpartnerz
 
Using Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security ProblemsUsing Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security Problemskiansahafi
 
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 ApplicationsDev Software
 
Tideway Software Identification
Tideway   Software IdentificationTideway   Software Identification
Tideway Software IdentificationPeter Grant
 
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 OverviewSAP Technology
 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesInformation hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesIRJET Journal
 
Top 5 best practice for delivering secure in-vehicle software
Top 5 best practice for delivering secure in-vehicle softwareTop 5 best practice for delivering secure in-vehicle software
Top 5 best practice for delivering secure in-vehicle softwareRogue Wave Software
 
OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideLudovic Petit
 

Ähnlich wie 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
 
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...
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
 
OWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideOWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference Guide
 
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
 
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 ...
 
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...
 
Coverity Data Sheet
Coverity Data SheetCoverity Data Sheet
Coverity Data Sheet
 
Acunetix Training and ScanAssist
Acunetix Training and ScanAssistAcunetix Training and ScanAssist
Acunetix Training and ScanAssist
 
Avnish
AvnishAvnish
Avnish
 
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
 
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
 
Using Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security ProblemsUsing Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security Problems
 
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
 
Tideway Software Identification
Tideway   Software IdentificationTideway   Software Identification
Tideway Software Identification
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
 
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
 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesInformation hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted Images
 
Top 5 best practice for delivering secure in-vehicle software
Top 5 best practice for delivering secure in-vehicle softwareTop 5 best practice for delivering secure in-vehicle software
Top 5 best practice for delivering secure in-vehicle software
 
OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference Guide
 

Mehr von 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 ToolboxCheckmarx
 
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 HackersCheckmarx
 
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 AnalysisCheckmarx
 
A Platform for Application Risk Intelligence
A Platform for Application Risk IntelligenceA Platform for Application Risk Intelligence
A Platform for Application Risk IntelligenceCheckmarx
 
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 AnalysisCheckmarx
 
Source Code vs. Binary Code Analysis
Source Code vs. Binary Code AnalysisSource Code vs. Binary Code Analysis
Source Code vs. Binary Code AnalysisCheckmarx
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & NowCheckmarx
 
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-InsCheckmarx
 
10 Steps To Secure Agile Development
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile DevelopmentCheckmarx
 
Graph Visualization - OWASP NYC Chapter
Graph Visualization - OWASP NYC ChapterGraph Visualization - OWASP NYC Chapter
Graph Visualization - OWASP NYC ChapterCheckmarx
 
Happy New Year!
Happy New Year!Happy New Year!
Happy New Year!Checkmarx
 

Mehr von Checkmarx (12)

Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners
 
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
 
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
 
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
 
A Platform for Application Risk Intelligence
A Platform for Application Risk IntelligenceA Platform for Application Risk Intelligence
A Platform for Application Risk Intelligence
 
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
 
Source Code vs. Binary Code Analysis
Source Code vs. Binary Code AnalysisSource Code vs. Binary Code Analysis
Source Code vs. Binary Code Analysis
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & Now
 
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
 
10 Steps To Secure Agile Development
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile Development
 
Graph Visualization - OWASP NYC Chapter
Graph Visualization - OWASP NYC ChapterGraph Visualization - OWASP NYC Chapter
Graph Visualization - OWASP NYC Chapter
 
Happy New Year!
Happy New Year!Happy New Year!
Happy New Year!
 

Kürzlich hochgeladen

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingThe Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingSelcen Ozturkcan
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Kürzlich hochgeladen (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingThe Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

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