KuppingerCole Product Research Note Virtual Forge CodeProfiler

KuppingerCole Product Research
Note
by Prof. Dr. Sachar Paulus |
March 2012
Virtual Forge CodeProfiler
KuppingerCole – Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
KuppingerCole Product Research Note
Virtual Forge CodeProfiler
by Prof. Dr. Sachar Paulus | [email protected] | March 2012
Content
1. Executive Summary
3
2. Highlights
4
3. Customer Challenges and Industry Status
5
3.1 Customer Challenges
5
3.2 Industry Status
6
3.3 Mapping of Challenges/Status
6
4. Product Evaluation
7
5. Success factors
9
6. Roadmap
10
7. Vendor and Ecosystem
11
8. Summary and Recommendation
12
9. Glossary
13
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 2 of 14
1.
Executive Summary
Code security analysis has become one of the most important business segments
servicing the secure development of software. Products are pretty mature for every
mainstream programming language, and large IT companies have acquired the major
technology innovators in that segment.
There is, though, an area of software development that receives little attention,
although being quite important for businesses: the so-called customizing of SAP
applications. Customization in SAP applications typically means that new application
pieces will be added to the SAP standard offering. In many cases existing modules and
functionalities will be rewritten at the customer site to optimize their usage for the
customer specific business processes. As such, the customization is actually more a
development activity and thus may greatly benefit from code security analysis,
specifically for compliance purposes.
Most SAP customization projects, though, will take place in SAP’s ERP application suite,
and this is mostly written in SAP’s proprietary language called ABAP. There are only a
few companies that offer code analysis for ABAP programs, let alone analysis of the
security of the developed code. Virtual Forge fills this niche with its flagship product
CodeProfiler that analyzes SAP ABAP code for vulnerabilities and, optionally, also for
other code quality aspects.
CodeProfiler has reached a mature status, and is currently in the phase of feature
enrichment, so beyond the capabilities presented today (excellent performance, easy
configuration, predefined content, full integration into SAP development activities)
there will be more beneficial functionalities available soon. The ecosystem has reached
a good level of maturity with worldwide sales and consulting through SAP and IBM and
specific mid-market solution OEM packages.
Security for SAP applications is hard to mandate in real life due to its relatively central
but isolated position in most organizations, and even then most IT specialists understand
“SAP security” to be limited to good authorization management. Nevertheless, the
modification of SAP software poses a high business risk and should therefore be treated
with equal care. It is therefore important to establish (business) stakeholders for SAP
security before being able to fully leverage the value of CodeProfiler.
Overall, Virtual Forge CodeProfiler is an excellent solution for a small but important
niche, and SAP customers that are taking the risk of code vulnerabilities seriously shall
consider the product for an evaluation.
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 3 of 14
2.
Highlights

Unique offering with highly
specialized SAP ABAP know how

Automatic fixing of issues available
on project basis

Also covers non-security related
domains such as compliance and
code quality

Requirements engineering version
of vulnerabilities for mandating
secure outsourced development

Integrated into SAP’s development
processes and practices (transport
management, development
workbench, analytics)

Compelling technical roadmap

Ecosystem sales through IBM & mid
market partners
Business risk interpretation of
every identified vulnerability with
predefined content

Security researcher program in
place

Only ABAP based SAP products and
systems are covered

Configuration on each SAP system
required

The organizational prerequisites to
successfully use the product with
its full potential are demanding


Report interfaces to all major code
quality management tools

Workflow integration for risk
acceptance processes

In-memory architecture for high
performance analysis

Fast setup and initial configuration
for first analysis results
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 4 of 14
3.
Customer Challenges and Industry Status
3.1 Customer Challenges
SAP software is widely used in almost every industry segment, for a variety of
application areas, such as accounting, production planning or supplier management, to
name a few. A major success factor for SAP software is its excellent flexibility and
extensibility. Many customers apply so-called customizing to modify and/or complement
the shipped standard with individual modifications. From this perspective, SAP software
cannot only be seen as standard software, but also as a development environment with
pre-existing templates and business structures.
Although SAP has a very good reputation in terms of software security – a recent
benchmarking among members of the SAFECODE initiative reported an excellent status
with respect to the maturity of secure development processes, being 2nd just after
Microsoft – and software quality in general, there is a customer need for checking and
validating the security and quality of code used by customers in SAP systems. In the
classical software development business, this is the area of code analyzers.
Code analyzers try to address the problem that, during the development process,
software engineers rarely take security into account. Since 2002, the industry has
developed a number of good security development practices, for example, threat
modeling as part of a secure design process, or secure deployment to ensure a secure
configuration of software when in use. Code analyzers help automating the test process
during development, and perform an analysis of the source code to try and detect
potential vulnerabilities. Code analyzers may be static or dynamic, depending on
whether they can take run-time information into account when performing their analysis
work.
Now one might argue that there is no real need for a code analyzer, since one might
think that SAP systems typically are used internally at customer sites, and so no hacker
can get access to SAP systems. This is no longer true, SAP systems are in most cases well
connected to the Internet through a number of external-facing business process
applications. Moreover, SAP systems are no longer considered to be esoteric by the
hacker community, there is a fast growing interest in SAP systems and how to break into
them.
A major driver for scanning SAP code is for Compliance reasons. Since more and more
SAP custom development is outsourced to offshore locations, it is important to check
especially that security-related aspects have been addressed well such as, e.g., the
correct usage of authorization check statements. Code security analysis seen this way
turns into a supplier control tool.
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 5 of 14
3.2 Industry Status
Products in this area have only recently covered code scanning for SAP. Of course, SAP in
the meantime uses all kinds of development languages, notably JAVA and C#/.NET,
which can be covered by mature code scanning solutions. But SAP has used for decades a
self-developed specific application interpreter language called ABAP, that is similar to
COBOL with extensions to support object-oriented programming, which has not been
addressed by code analyzers until only recently.
The code analyzer market is divided into a number of different areas, that all have some
overlap to each other, specifically in the SAP environment. A major divide is the
separation into security (and Compliance) focused code scanners, and standard qualityoriented code scanners.
In the area of security code analyzers, there has recently been a market restructuring,
with some of the major IT players, notably HP and IBM, having acquired specialized code
scanning companies, such as Fortify, Ounce Labs and SPI Dynamics. As such, there is no
large independent security code scanning company available any more. This shows the
great interest of the market in gaining experience in code scanning for improving the
security and quality of software.
3.3 Mapping of Challenges/Status
Fortify, formerly the largest independent vendor of code analyzers, now an HP company,
also has an ABAP scanner. But since the focus of Fortify is to offer scanning engines for
all important software languages, and to allow an integrated view on those, there is
generic support for ABAP scanning, but the focus on integration and interoperability with
SAP specifics such as SAP Transport or SAP BI Analytics is rather limited.
Specifically for SAP, one needs in addition to consider the services offered by SAP as
part of their remote support offering. There is a code analysis engine called Code
Inspector available with SAP software that is used by SAP-internal development teams,
which also performs a number of security checks, moreover this offering is free of use
for SAP customers. This solution has two major disadvantages: it does not scan standard
code developed by SAP – although customers actually might modify this as well – and it
does produce a large number of potentially false positives.
Another product area that needs to be considered is the one of standard quality
application code scanners, such as e.g. CAST software. These vendors target a holistic
view of software quality management and work with KPIs and dashboards. There are a
number of vendors with specifics for SAP, but there is little focus on security and
compliance until now.
Consequently, there are relatively few alternatives for SAP customers who wish to use a
code analyzer for SAP ABAP code, and there is currently only one vendor, Virtual Forge,
that is both experienced in scanning code for vulnerabilities as well as used to the
specifics of running SAP applications. As such, Virtual Forge CodeProfiler presents a
strong USP, since it can be used to perform code security analysis in SAP environments
the way that ABAP developers are used to.
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 6 of 14
4.
Product Evaluation
The CodeProfiler product uses data and control flow analysis in combination with a
comprehensive rule set that covers many data sources and dangerous ABAP
statements to identify potential issues.
Data flow analysis is a technique that first identifies data sources, i.e. code snippets
where (external / untrusted) data is read into variables. It then analyzes whether
there are any connections between a data source and a potentially dangerous
statement. Any identified connection (data flow) indicates that the dangerous
statement is most likely exploitable. The implementation of the data flow analysis is
done using the definition and comparison to a grammar, specifically for the ABAP
language. Data flow is modeled using relations, and can be scanned in both
directions, from dangerous statements to input fields and vice versa.
In addition to data and control flow analysis, the product applies further sanity tests
like type checks, authority checks, usage of regular expresses etc. As a result the
product can prioritize the findings so that the mitigation process can be made more
efficient.
An important differentiator of the product is that it does not only identify security
vulnerabilities, but does moreover recognize other types of issues related to different
domains, such as compliance, maintainability, robustness and performance. As such,
CodeProfiler already covers a large set of non-functional aspects and can therefore
not be considered as being a pure security tool. It is rather a more generic code
analysis tool that enables organizations to produce code of good quality.
The CodeProfiler product offers the full set of functionality that enables organizations
that develop SAP ABAP code not only to discover vulnerabilities, but also to fix them
and stay in control of the corrected software during the development lifecycle. To
achieve this goal, CodeProfiler is completely developed in a way to make use of and
thus integrate into the standard maintenance tools offered by SAP, such as the
transport management system, the development workbench or the analytics
framework.
In SAP landscapes, software is „transported“ from development systems to test
systems, and from test systems to production systems. To achieve control over the
code, CodeProfiler comes with an extension to the standard transport management
system, which needs explicit approval to transport code with identified findings.
Thus, potentially dangerous code can still be used (e.g. because of risk acceptance
criteria), but the approval will be documented for compliance reasons. In this way
CodeProfiler acts like an application level firewall scanning for vulnerabilities or bad
programming content between the different deployment instances of an SAP system.
The major development environment for ABAP applications, the development
workbench, is extended to contain CodeProfiler scanning functionality, so that
developers can check the sanity and code quality of their modules on the fly. It is also
possible (e.g. in case CodeProfiler is used by an auditor) to use CodeProfiler in batch
mode; in this case it is very easy to configure CodeProfiler operations with SAP
standard tools.
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 7 of 14
CodeProfiler moreover allows displaying the results in a dashboard fashion. This is
important to enable managers to rapidly grasp the situation, and be alerted to focus
on the real critical aspects of a scanning report. To achieve this, CodeProfiler makes
use of the standard SAP BI analytics functionality coming with SAP systems. These can
be displayed within the SAP system, with drill down functionality, or automatically
sent in office or PDF formats to specific users.
Besides the integration into the standard SAP tools and frameworks, both the
configuration as well as the results can also be used with specialized, external tools,
such as IBM Rational, Basis Technologies Transport Express, REALTECH’s theGuard!,
and of course with the standard SAP maintenance tool SAP Solution Manager.
The initial configuration of the CodeProfiler product for one target SAP system is
pretty fast. There is no need for configuring rule sets, since these come with the
product. Within a few hours, a CodeProfiler installation can be up and running in
productive mode. A drawback though is that the product must be configured
separately on each SAP system. Thankfully, the configuration information can be
transported automatically from one system to another, yet needs to be adapted to
system specific needs.
The separate configuration is a consequence of the technical architecture of
CodeProfiler. The architecture is optimized for maximum speed and flexibility and
separates configuration and report elements from the pure scanning engine. The
scanning engine is running on a separate system (standalone JAVA based, no complex
JAVA server needed) and has no user interface. Multiple instances on the same or
different machines can be used to parallelize the scanning process using Round-Robin
scheduling. All input/output management and configuration is kept on the SAP system
to be analyzed. The communication between the SAP systems and the scanning
engines is realized using RFC with pre-defined users with dedicated authorizations.
The scanning engine uses an in-memory architecture to boost the scanning process
which allows it to scan up to several thousand code lines per second, with up to 200
Million code lines in a scanning block in-memory. As a reference, a large
multinational organization scans all SAP ABAP code in all its systems (several hundred)
once a week. The major benefit of using CodeProfiler is, though, that the results can
be correlated to business risk. In comparison to many other code scanning tools that
identify potential security weaknesses, CodeProfiler allows associating a business risk
to each finding; this is in part due to the nature of the ABAP language, and in part to
the research work of Virtual Forge that associates a business risk to every identified
finding.
Furthermore, to reduce the number of false positives, CodeProfiler extends the
standard presentation means in terms of probability and impact by separating the
issues in different categories, namely those which are definitively a flaw (the
probability is > 95%) and two subtypes of findings with lower probability. The
prioritization within these separate groups of findings is then only done according to
the (business) impact. An additional feature that is currently only available on
request in a project type of work is the ability to automatically fix issues. According
to first real life analyses, up to 70% (mostly commonly made errors such as forgotten
authorization checks or insecure direct object references) can be easily fixed
automatically. This also works perfectly for findings in the non-security domains.
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 8 of 14
5.
Success factors
To use the product successfully, a number of conditions need to be met.
First of all, one needs a recipient of the scanning reports, i.e. someone who is
interested in the results of the scanning process and who will take and/or initiate
action to fix the issues identified. This is by no means trivial. In many organizations
taking care of SAP operations, there is no one responsible for security or even quality.
On the other hand, most Information Security Officers, while often being responsible
for overall Information Security, do not have a handle on the security of SAP systems.
In such cases, first CodeProfiler results may create some awareness about the
problem, but to sustainably improve the situation a corresponding responsibility is
necessary to be established first.
Second, the SAP operations team needs to support the installation and operation of
CodeProfiler. Due to its restrictive nature, specifically regarding the compliance
approval step in the transport management, in many cases it might get rejected by
developers or even system administrators in the first place. So either there is support
from the operations team that is convinced about the value of the tool, or senior IT
management needs simply to mandate it.
Last, and this is specifically important to the usage of CodeProfiler with outsourced
SAP development, it is literally of no value to check for security issues – or findings
from other non-functional domains – if there is no corresponding requirement
communicated to the outsourcing partner. Correspondingly, Virtual Forge offers
customers a version of their rule set in a „requirements“ version that can be added to
outsourcing contracts.
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 9 of 14
6.
Roadmap
The current roadmap of the CodeProfiler product can be divided into three
development directions: extension of the non-security aspects, integration of dynamic
code analysis elements and automatic correction.
The existing capabilities of the product in terms of non-functional requirements other
than security will be further extended. Among others, compliance-related aspects
specifically will be improved, such as EuroSOX or Basel II testing patterns.
Since the primary technology used is data flow analysis, there is an inherent risk of
having many false positives. An important approach for further reducing the number
of false positives is to use run-time information to reflect the identified potential
flaws against the actual usage context. In SAP systems, using the so-called Data
Dictionary (DDIC) can primarily do this. This furthermore allows to perform coverage
analysis and so to enrich the risk quantifiers for a better risk ranking of the findings.
An existing feature that is currently only available on a project-per-project basis is
auto-correction. For vulnerabilities or other findings that may allow for some
automatic code correction (such as, e.g., adding an authorization check depending on
the calling module), corresponding code is inserted automatically. There is ongoing
research to extend this capability to a substantial number of detected vulnerabilities.
Overall, the roadmap is compelling technology-wise and, since customers have
initiated most of these developments, this shows the great interest of the market in
advancing the corresponding capabilities. The company Virtual Forge is in a typical
feature enrichment phase, and as long as customers mandate these incremental
innovations, there is room for growth. One might, though, be a bit skeptical about
the absence of non-ABAP code analysis technology, since the SAP portfolio grows year
over year, and the fraction of ABAP code is, although huge in size, shrinking slowly.
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 10 of 14
7.
Vendor and Ecosystem
Virtual Forge was founded in 2001 in Mannheim, Germany, and started as a SAP
security code analysis consulting company. Over time, Virtual Forge has developed
itself into a product vendor, by productizing its experience in scanning ABAP
programs. Recently, Virtual Forge was named “Cool Vendor” by one of the leading
analyst firms, for the reason that the company fills a niche that even the software
vendor SAP does not address.
Virtual Forge’s financial success is based on organic growth with a turnover of 3 Mil
EUR in 2010. The company strategy is to offer a complete solution for SAP ABAP
specific code scanning. The company is privately owned, and the operating margin is
invested year-after-year into growth. The internal structure is optimized for short
product cycles, including agile development processes to integrate customer
requirements early in the process. A customer community management is in
preparation.
The sales strategy of Virtual Forge is a mixed model between direct sales (primarily
Germany and central Europe, soon U.S.) and indirect sales. The product is available
through IBM’s global software business and as an OEM version specifically tuned for
the mid-market via REALTECH. The solution sold by IBM fits the other offerings in that
area well (specifically IBM Rational AppScan, formerly Ounce Labs) and the results are
displayed in the IBM Rational dashboard tools. For international customers, the first
level support is available through IBM on a worldwide basis.
Existing customers are ranging from large SMEs to multinational corporations. The
main application area is to scan ABAP code developed by SAP customers during the socalled customization of SAP systems. Scanning code of third party software and
modified code of the SAP standard are fast growth areas. SAP itself uses CodeProfiler,
both for SAP-internal applications as well as for SAP product development.
The predefined content that comes with CodeProfiler is the result of joint research
activities with the SAP security researcher community. A specific research
department within Virtual Forge actively searches for SAP/ABAP vulnerabilities,
performs analysis and identifies potential countermeasures. This content is fed into
the product; these descriptions are updated twice per year. In parallel,
vulnerabilities are published according to a responsible disclosure strategy to inform
SAP customers in general. An interesting service is that customers, to mandate secure
coding from coding subcontractors, can also use this content in a version to be added
to their contracts.
To get CodeProfiler up and running some configuration is needed. To cover this
consulting demand, Virtual Forge has a small consulting group, but also works with
companies like akquinet, REALTECH, Adventier (USA) or – via the international
software sales – IBM. Virtual Forge’s ecosystem has become well developed over the
last few years. The switch from a consulting to a product company, although typical
for European startups to assure organic growth, has its pitfalls specifically with
regards to the partner landscape. But ultimately, the move to partner with IBM for a
worldwide sales and consulting offering shows a strong maturity in that respect.
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 11 of 14
8.
Summary and Recommendation
To sum up, CodeProfiler from Virtual Forge is a unique product, covering a niche
market that has been left over by SAP. One might argue that other programming
languages are not supported, but the value of CodeProfiler is exactly the high level of
adjustment to SAP ABAP specific risks. The in-memory architecture is optimized for
high industrial usage, indicating professional software development. The breadth of
options for operating the product shows the interest of customers, specifically
running it integrated into their standard maintenance and development processes.
Finally, with the reselling agreement with IBM, CodeProfiler shows strong market
maturity.
Consequently – and since there is no real alternative to the product – companies
interested in scanning newly developed or modified SAP code should definitively have
a look at CodeProfiler – or at its mid-market OEM version shipped with REALTECH
theGuard!.
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 12 of 14
9.
Glossary
Code Security Analysis: The process of analyzing source code of software in order to
identify potential security weaknesses.
SAP Customizing: The process of adapting standard SAP software to the specific
requirements of a customer. Often includes modification of original coda and addition
of new code.
Software Transport: The process of moving code from one development stage to the
next, e.g. from “test” to “production”.
Security Researcher Program: A program of a software manufacturer to keep in
touch with security researchers that try to identify vulnerabilities in code.
Quoting information and data from Kuppinger Cole Ltd.: Individual sentences and sections may be used in internal
documents and presentations exclusively for internal communication within the company without the explicit
permission of Kuppinger Cole Ltd. Use of large sections or the complete document requires previous written
permission from Kuppinger Cole Ltd. and may include the payment of royalties. External publication of documents
and information by Kuppinger Cole Ltd. in advertisements, press reports or other marketing material generally
requires previous written permission from Kuppinger Cole. A draft of the relevant documents should be provided.
Kuppinger Cole Ltd. reserves the right to refuse external use for any reason. © Kuppinger Cole Ltd. 2004-2012.
Reproduction forbidden unless authorized. For additional copies, please contact [email protected]
KuppingerCole Product Research Note – Virtual Forge CodeProfiler
Report No.: 70583
Page 13 of 14
The Future of Information Security – Today.
KuppingerCole supports IT professionals with outstanding expertise in
defining IT strategies and in relevant decision making processes.
As a leading analyst company KuppingerCole provides first-hand
vendor-neutral information. Our services allow you to feel comfortable
and secure in taking decisions essential to your business.
Kuppinger Cole Ltd.
Headquarters
Arnheimer Str. 46
D-40489 Düsseldorf | Germany
Phone
Fax
+49 (211) 23 70 77 – 0
+49 (211) 23 70 77 – 11
www.kuppingercole.com
KuppingerCole, founded in 2004, is a
leading Europe-based analyst company for
identity focused information security, both
in classical and in cloud environments.
KuppingerCole stands for expertise,
thought leadership, and a vendor-neutral
view on these information security market
segments, covering all relevant aspects like
Identity and Access Management (IAM),
Governance,
Risk
Management
and
Compliance (GRC), IT Risk Management,
Authentication and Authoriza- tion, Single
Sign-On, Federation, User Centric Identity
Management, eID cards, Cloud Security and
Management, and Virtualization.
For further information, please contact [email protected]