Software [In]security: BSIMM Europe
Measuring Software Security Initiatives Worldwide
The Building Security In Maturity Model (BSIMM) was released in March 2009 under a Creative Commons license. Since March, the BSIMM has evolved and expanded in several ways. Most importantly, the BSIMM study has added data for seventeen companies to the original nine, bringing the study total to twenty-six. These data indicate the model as originally devised is robust enough to retain its utility well into the future. Nine of the new seventeen are companies based in Europe, allowing us some important insight into the state of software security in Europe.
The focus of this article, BSIMM Europe, is the study of nine large-scale European software security initiatives. The BSIMM Europe participants are: Nokia, SWIFT, Standard Life, Telecom Italia, and Thomson Reuters, and four companies that chose to remain anonymous. In the past, comparing the European market for software security tools and services to the US market has traditionally involved some guesswork (see, for example Software [In]security: Software Security Comes of Age). By contrast, BSIMM Europe provides some hard data about the state of the practice.
BSIMM Europe General Results
The basics. We are aware of at least 46 large-scale software security initiatives. We chose to study nine of these for BSIMM Europe. On average, the target organizations have practiced software security for six years and eight months (compared to the original BSIMM nine average of five years and four months). The newest initiative is one and one-half years old and the oldest initiative is fourteen years old as of November 2009.
The SSG. Like the original BSIMM firms, all nine European firms agree that the success of their program hinges on having an internal group devoted to software security ̬ the software security group (SSG). SSG size on average is 16 people (smallest 1, largest 50, median 11.5) with a "satellite" of others (developers, architects and others in the organization directly engaged in and promoting software security) of 29 people (smallest 0, largest 140, median 0). The average number of developers among our targets was 4664 people (smallest 400, largest 12,000, median 5000), yielding an average percentage of SSG to development of just over 0.97% (a value slightly lower than the 1% observed in the original BSIMM).
Observables. The BSIMM model is based on empirical evidence and data observation. Each of the 110 activities in BSIMM has been observed in the field. The 110 activities are not "best practices," they are actual practices. Some are more commonly observed than others. Science.
In fact, in the BSIMM Europe dataset, eleven activities were observed in all nine of the initiatives (see below). To contrast this with the original BSIMM firms, we observed ten common activities in the original dataset, and they are not the same activities. Also note that in the case of the nine European firms, we did not observe all 110 activities in the union of the BSIMM Europe nine activities.
Measurements. The most obvious way to use the BSIMM is as a yardstick for measuring your own software security initiative and comparing it to others. You can do this by noting which of the activities you routinely carry out and which you don't, and then thinking about the level of maturity attained by your organization as evidenced by the level of the activities you carry out.
We are collecting a set of data that is growing over time (twenty-six vectors to date), with a 110-bit activity vector for each organization. Using these data not only allows you to determine where you stand, but also provides you very powerful leverage in vendor management and software outsourcing negotiations. Now that we have a European dataset, it is also possible to compare your firm to the European market.
Probably the easiest form of measurement in the BSIMM is to sum the number of activities to a raw activity score. This provides a simple (in fact, simplistic) view of initiative maturity. In the original BSIMM, the raw activity score ranged between 74 and 38, with a median of 48. In general, BSIMM Europe data show that the most mature European initiatives are approximately as mature as the most mature US initiatives. However, the least mature European initiatives that we studied are significantly less mature than the US initiatives in the original BSIMM. That means that the range of maturity observed in Europe is "wider" with reference to the BSIMM as a yardstick. To back this up with actual numbers, the European data raw activity score ranged between 65 and 15, with a median of 47. (Note that the European data set includes one outlier firm with a very low score. With the outlier removed the range becomes 65 and 34, with a median of 47.5.)
Maturity. In the original BSIMM we released two analyses that are useful for comparison. The first is the average over the nine, which shows a "high water mark" maturity level for each of the twelve practices in the Software Security Framework averaged over the nine firms. That is, if a level three activity was observed in a practice, that practice is noted as a three regardless of the number of activities in levels one and two. We sliced the data many ways, and the high-water mark turned out to be both useful and easy to calculate.
We can compare the average maturity over the original BSIMM nine to the average maturity over the BSIMM Europe nine.
The first thing to note is the huge amount of overlap. From the graph, it is clear that European software security initiatives (in red) and US initiatives (in blue) have lots in common. That said, the differences are worth noting. Of the twelve practices in the SSF, the US shows evidence of more activity in eight (66.67%). The largest deltas appear in the Training and Security Testing practices. There are three practices where the European companies show evidence of more activity: Compliance and Policy, Penetration Testing, and Software Environment. When it comes to Strategy and Metrics, the averages are exactly the same. In general, this reflects a European situation that is more process and compliance driven (including privacy compliance) and more driven to measurement. However, the Europeans tend to carry out fewer assurance activities (for example, reviewing source code to look for bugs) and instead focus more energy getting a handle on the problem and meeting compliance criteria through penetration testing. This is particularly striking given our view that " the importance of penetration testing is diminishing over time" in the US market. (See Software Security Top 10 Surprises.)
Scorecard. The second analysis that is useful is a direct comparison of all 110 BSIMM activities. On page 49 of the BSIMM model, we report the number of times each of the 110 activities was observed in the field among the original BSIMM nine. The scorecard below shows the number of times any given activity was observed among the nine (US Obs.) and among the BSIMM Europe nine (EU Obs.).
The table above is organized to roughly mirror the BSIMM software security framework. The US Obs and EU Obs columns show how many of the nine in each study performed each activity. Those activities that "everybody does" in the original BSIMM study (also see Software [In]security: Nine Things Everybody Does: Software Security Activities from the BSIMM) are highlighted in yellow. The BSIMM Europe set of activities that "everybody does" are different. They are highlighted in blue.
Eleven Things Everybody in Europe Does
There are eleven activities that everybody does in the BSIMM Europe data. Note that we define "everybody" as eight or more firms (just as we did with the original BSIMM data).
|Objective||Activity||Everybody Does in Original BSIMM|
|make the plan explicit||[SM1.1] publish process (roles, responsibilities, plan), evolve as necessary||no|
|establish SSDL gates (but do not enforce)||[SM1.4] identify gate locations, gather necessary artifacts||no|
|make clear who's taking the risk||[SM2.4] require security sign-of||no|
|promote privacy||[CP1.2] identify PII obligations||no|
|meet regulatory needs or customer demand with a unified approach||[CP1.3] create policy||yes|
|create proactive security guidance around security features||[SFD1.1] build/publish security features (authentication, role management, key management, audit/log, crypto, protocols)||yes|
|meet demand for security features||[SR1.1] create security standards||yes|
|get started with AA||[AA1.1] perform security feature review||no|
|demonstrate that your organization's code needs help too||[PT1.1] use external pen testers to find problems||yes|
|fix what you find to show real progress||[PT1.2] feed results to defect management/mitigation||no|
|provide a solid host/network foundation for software||[SE1.2] ensure host/network security basics in place||no|
Only four of these activities are also present in the set of things that "everybody does" in the original BSIMM study: [CP1.3], [SFD1.1], [PT1.1], [SE1.2]. ([SR1.1] is a special case that was appended to the original BSIMM list to ensure coverage of all 12 SSF practices.) In order to fully understand the BSIMM activities discussed here, please refer to the complete activity description in the BSIMM model.
That means six of the activities are unique to things that "everybody in Europe" does: [SM1.1], [SM1.4], [SM2.4], [CP1.2], [AA1.1], and [PT1.2]. Again, these data suggest that European software security initiatives put more emphasis on process than their US counterparts. Furthermore, this process thinking is at least partially driven by regulatory needs (in particular we found plenty of emphasis on privacy in Europe). These data may indicate a regional difference in how software security groups approach their goals. For example, the US firms may have started piecemeal with tools and proceeded to policy because there wasn't an existing corporate framework for software security activities. In the case of the European firms, it may have been easier to expand existing frameworks (e.g., BS7799, ITIL) to include software security governance activities, so that happened first. In the latter cases, an over-focus on process may cause some of the technical activities to take a backseat role (so, for example, there is less emphasis on Code Review and Security Testing in Europe). Training is also an important practice area with less emphasis in Europe.
Note that if we remove the outlier firm from the result set, the following three activities are observed in seven of the remaining eight firms: [SM2.2], [CP1.1], and [AM1.2]. These data re-enforce our observation that there is a greater focus on process in European firms than there is in US firms.
|Objective||Activity||Everybody Does in Original BSIMM|
|Change Behavior||[SM2.2] enforce gates and measure and track exceptions||no|
|Understand compliance drivers||[CP1.1] Know all regulatory pressures and unify approach||no|
|Prioritize applications by data consumed/manipulated||[AM1.2] create data classification scheme and inventory||no|
Activities Not Observed in Europe
For an activity to be included in the BSIMM model it must by definition have been observed in at least one software security initiative from the original nine. However, now that the model exists (and has been validated with collection of a much larger data set) we discover that there are fifteen BSIMM activities that were not observed in BSIMM Europe at all.
|keep policy aligned with reality||[CP3.3] drive feedback from SSDL data back to policy|
|act as informal resource to leverage teachable moments||[T1.3] establish SSG office hours|
|keep staff up-to-date and address turnover||[T2.3] require annual refresher|
|communicate attacker perspective||[AM2.4] build internal forum to discuss attacks|
|get ahead of the attack curve||[AM3.1] have a science team that develops new attack methods arm testers and auditors|
|arm testers and auditors||[AM3.2] create and use automation to do what the attackers will do|
|spread software security around without any process||[CR1.3] establish coding labs or office hours focused on review|
|combine assessment techniques||[CR3.2] build a factory|
|handle new bug classes in an already scanned codebase||[CR3.3] build capability for eradicating specific bugs from entire codebase|
|facilitate security mindset||[ST1.2] share security results with QA|
|include security testing in regression||[ST3.1] include security tests in QA automation|
|probe risk claims directly||[ST3.3] drive tests with risk analysis results|
|drive testing depth||[ST3.4] leverage coverage analysis|
|learn from operational experience||[CMVM3.1] fix all occurrences of software bugs from ops in the codebase|
|use ops data to change dev behavior||[CMVM3.2] enhance dev processes (SSDL) to prevent cause of software bugs found in ops|
Most notable in this list are three level one activities: [T1.3], [CR1.3] and [ST 1.2] and two level two activities [T2.3] and [AM2.4]. We are surprised that there are any level one activities not observed in the European data set. We will need to take a close look at these activities in the larger data set and determine whether or not this indicates a problem in the model. On the other hand, it is much less surprising that some of the "rocket science" level three activities were not observed. We will revisit this issue when we do some number crunching for BSIMM II.
Also notable are two sets of activities. The Attack Models practice includes three never-observed activities. We believe this reflects a general cultural reluctance in Europe to share information about attacks (that is, to restrict distribution of attack knowledge to a limited set of people on a need to know basis). There is a direct tie to the Security Testing practice where the notion of sharing information about security tests with testers cuts against the cultural grain. By contrast, the US market has embraced the attackers' perspective, which has come to play a critical role in US assurance and analysis regimes.
Code Review also appears to be less mature as a practice in Europe than in the US. In particular, code review tools are only deployed by 6 of the 9 firms in the European study, compared with 8 of the 9 original BSIMM companies. This is more evidence that a higher-order emphasis on process can in some cases be detrimental to technical assurance activity.
BSIMM Europe Reprise
We intend to add more data to the BSIMM Europe study even as we continue to expand BSIMM worldwide. Please download the BSIMM and use it yourself: http://bsi-mm.com. Use the contact form to tell us about your experience.
The original nine firms in the BSIMM study include Adobe, The Depository Trust & Clearing Corporation (DTCC), EMC, Google, Microsoft, QUALCOMM, Wells Fargo and two un-named financial institutions. The BSIMM study has since added data for seventeen companies to the original nine, bringing the study total to twenty-six. The new data include a number of companies that are also household names in verticals, branching from ISVs and financial services into insurance and pharmaceuticals. Later this year, these data will be released under the Creative Commons as BSIMM II.
BSIMM Begin, a study that is still underway, is a Web-based survey that covers software security initiatives that are just getting started. It is focused on 40 of the 110 activities covered in the full BSIMM. As of this writing, we have gathered data from 68 respondents. Our goal is 100. Your participation in the study is requested.
BSIMM progress in the form of BSIMM Europe, BSIMM Begin, and BSIMM II is particularly good news for the observation-based model, which is based directly on hard data observed in the field. The more data we gather, the more we can say with confidence about the state of software security in the world. We're looking forward to the time (coming soon) when our data sets reach a size where statistically significant trends can be measured and reported.
Acknowledgements: The BSIMM Europe project included the participation of the authors and three other researchers: Brian Chess, Gabriele Giuseppini, and Sammy Migues. Brian and Sammy were particularly helpful in the data analysis that provided the basis for this article. This work would not have been possible without the gracious support of the BSIMM Europe firms. They include: Nokia, SWIFT, Standard Life, Telecom Italia,Thomson Reuters, and four firms who chose to remain anonymous. In terms of particular activities carried out by a participating firm, the findings of the BSIMM Europe team have neither been confirmed nor rejected by the participating firms.