| Business Threat Modeling | | Print | |
Business Threat Modeling - A practical methodology for anticipating, assessing and mitigating risk to today's businessWhat risks really count for your business? No question is more important for implementing an effective program of security countermeasures for your business. The management board, IT and security practioners cannot expect to mitigate risk effectively without knowing the sources and cost of threats to the organization.
This article shows that reduction of defects in enterprise business applications can be a highly effective
PrefaceWe present a risk analysis process specially designed for enterprise systems that uses standard software vulnerability classifications and quantitative evaluation. The output of the process is financial justification for an effective risk mitigation plan.The plan includes the most cost-effective countermeasures that reduce the risk level to a minimum. The process and its supporting tools have a number of important applications:
You can download a full version of this article in PDF format: Part 1 - Buggy IT systems are Risky IT systemsInsecure application software and misconfigured systems are major factors in security breachesThis seemingly obvious observation is graphically borne out in a Breach Analysis Study that analyzed a sample of 167 privacy security breaches in 2005. Based on data provided by the Privacy Rights Clearinghouse, the study classified each event according to attack method, attacker and vulnerability exploited. A conservative estimate showed that 49% of the events exploited software defects as shown in the below table. Theoretically we can mitigate half of the risk by removing software defects in existing applications. The question, which we will answer later, is how.
Aggregated vulnerability distribution by type
The Carnegie Mellon Software Engineering Institute (SEI) reports that 90 percent of all software vulnerabilities are due to well-known defect types (for example using a hard coded server password or writing temporary work files with world read privileges). All of the SANS Top 20 Internet Security vulnerabilities are the result of poor coding, testing and sloppy software engineering. See Developing Secure Software by Noopur Davis. What is the commitment to quality software in enterprise business applications?Let's examine commitment to quality at three levels in an organization: end-users, development managers and top executives. Users are conditioned to accept unreliable software on their desktop and development managers are inclined to accept faulty software as a tradeoff to meeting a development schedule. Executives, while committed to quality of their own products and services, do not find security breaches sufficient reason to become security leaders with their enterprise systems because:
Why are firewalls, anti-virus and anti-spyware having trouble keeping up?Security technology is seen as a means of defending the organization rather than as a means of improving understanding and reduction of operational risk. Today's defense in depth strategy is to deploy multiple tools at the network perimeter such as firewalls, intrusion prevention and malicious content filtering and at endpoints; removable device control and personal firewalls. The defense-focus is on outside-in attacks, despite the fact that the majority of attacks on customer data and intellectual property are inside-out. Secure content management products can help control access, and regulate flows of sensitive data in order to prevent unauthorized disclosure. However, the process of classifying and monitoring enterprise content is highly complex and expensive, and as a result has not seen wide customer adoption. Basel II defines operational risk as the risk of loss resulting from inadequate or failed internal processes, people or systems, or from external events. This places buggy, insecure software at the center stage of operational risk assessment for any line manager whose business unit depends on that software. Part 2 - REDUCING DEFECTS IN Enterprise Systems.If it was easy, everyone would be doing it.It is rare to see systematic defect reduction projects in production software, so what makes it so hard?
Make it effective, not easy.We can meet these challenges in a cost-effective way by establishing three tenets:
Part 3 - A RISK ANALYSIS PROCESS FOR ENTERPRISE BUSINESS SYSTEMSOverviewOur first tenet is to use a risk analysis process that identifies, classifies and evaluates software vulnerabilities in order to recommend cost-effective countermeasures. This process is iterative and its steps can run independently, enabling any step to feed changes into previous steps even after partial results have been attained. Continuous review of findings is key to success of the project. For example, an end-user may point-out fatal flows in an order entry form to the VP engineering during the Validate Findings step and influence the results in the Classify Vulnerabilities and Build the threat model steps. 1. Set scope.The first step is to determine scope of work in terms of business units and assets. Focus on a particular business unit and application functions will improve the ability to converge quickly. The process will also benefit from executive level sponsorship that will need to buy into implementation of the risk mitigation plan. The team members are chosen at a preliminary planning meeting with the lead analyst and the project's sponsor. There will be 4-8 active participants with relevant knowledge of the business and the software. The team will be guided by 2-4 expert risk analysts that have good people skills and patience to work in a chaotic process. The output of Set Scope is one page:
2. Identify business assetsIn step 2, the team identifies operational business functions and their key assets: This part of the process can be done using wall-charts as shown in the below figure. The graphic format helps the team visualize the scope of assets and estimate potential impact of threats on assets. Business functions (white boxes) are placed on a diagonal from top left to bottom right as shown in the below figure. Assets (colored in green) flow clockwise around the diagonal of business functions.
3. Identify software componentsAfter identifying business functions in Identify business assets, the team now identifies software components (but doesn't assess vulnerabilities) using two sub-steps:
In order to help build a consistent, high-level view of the system, this part of the process can be done using wall-charts as shown in the below figure. Application functions (white boxes) are placed on a diagonal from top left to bottom right as shown in the below figure. Decomposed components (colored in tan) flow clockwise around the diagonal of application functions.
4. Classify the software vulnerabilities.CVSS (Common Vulnerability Scoring System) scores are computed for each component identified in the Identify software components step. CVSS is a standard way to convey vulnerability severity and help determine urgency and priority of response, Vendors such as Cisco, Symantec and Skype use CVSS to score their own application vulnerabilities. In addition to the CVSS score, we collect an additional field, the CLASP (Comprehensive, Lightweight Application Security Process) problem type category, for example Use of hard-coded password. The knowledge base supporting the process contains a baseline of classified software vulnerabilities and evolves over time as the team classifies new vulnerabilities. Various source code scanners may also be used in this step, for example FindBugs to find problems in Java source code.
5. Build the threat modelThe team now populates the PTA (Practical Threat Analysis) threat model. Assets collected in the Identify business assets step are assigned a financial value. Threats are named and classified as to their probability of occurrence and damage levels. Vulnerabilities that were collected in the Classify the vulnerabilities step are associated with threats
6. Build the risk-mitigation planIn step 6, the team specifies countermeasures for vulnerabilities found in the software components and records them in the PTA data model. While the best countermeasure for a problem is fixing it, in reality there may not be documentation and the programmers who wrote the code are probably in some other job. This means that other means may be required, such as code wrappers or application proxies. The possible types of countermeasures are Retain, Modify and Add as seen in the below figure:
7. Validate findingsThis extremely important step validates the current findings with expert/relevant players in the enterprise. The objective is to use all means at the disposal of the team to qualify components and vulnerabilities as to where (they are in the system), which (assets are involved), what (they do now and in the past), why (they perform the way they do) and when (a component is initialized and activated). Conceptually, no limits are placed on what questions can be asked. Users may downgrade low-risk software components and escalate others for priority attention. They may add or remove assets from the model and argue parameters such as probability, asset value, estimated damage etc. For example, a server-side order confirmation script that sends email to the customer may have received a low CVSS score in Classify the software vulnerabilities. The team can simply decide to eliminate that vulnerability from the list during Validate findings. Part 4 - QUANTITATIVE EVALUATION AND FINANCIAL JUSTIFICATIONProvide decision makers with financial justificationThe output of the process provides executives with financial justification for an effective risk mitigation plan. After specifying countermeasures, the PTA risk-reduction optimization algorithm produces a prioritized list of the countermeasures in financial terms. The risk-reduction algorithm combines the most cost-effective countermeasures to reduce the overall system risk level to a minimum at a total fixed and variable cost. An example from a real-life case studyWe analyzed a business unit with systems for online order processing, make-to-order production and customer credit payment processing. Three key assets were identified: customer records, credit card details and internal pricelists. As can be seen in the below financial analysis, the risk to the assets can be reduced from 15% to 2% at a cost of $29,500 with seven selected countermeasures. Risk is reduced to a minimum by proactive defect-reduction at a cost of less than 3 percent of the asset value. By way of comparison, the cost is an order of magnitude less than acquisition of a proprietary system for preventing leakage of credit cards and privacy information. You can see the detailed risk mitigation plan here. Part 5 - COMMUNICATIONS BETWEEN DEVELOPERS AND SECURITYArgue the issues, respond consistentlyOur third tenet was about having software developers and information security staffers talk to each other and argue the issues. By publishing CVSS scores and countermeasure costs, the developer and security teams can be confident that they can respond to a particular type of event in a consistent fashion. We have found in our practice with clients, that an online collaboration tool (such as Issue-Tracker) helps give the company a clear, updated picture of well-known defects and security events. The collaboration tool supports continuous risk analysis and management with two main applications: a knowledge base and issue tracker:
Part 6 - SUSTAINING CONTINUOUS RISK REDUCTIONTraining a team that can sustain qualityWhile the process itself has educational benefit, there is no question that the quantity and complexity of production software systems in a large organization requires skills for continuous risk analysis and defect reduction. To meet this objective, we propose two courses: The first - Risk analysis for enterprise software is a three day course that trains analysts and qualifies them to run a defect reduction process as described in this paper. A second course of two days - Enterprise system risk analysis for coaches, is oriented to developers who enjoy teaching, and have alreaded guided at least two risk analysis projects. This course will qualify them to teach Risk analysis for the legacy and coach other security and software development professionals. Improving best practices in the software development life cycleThe risk analysts supporting the process, together with the knowledge base are a significant resource for any organization that wants to evaluate the economic feasibility of a defect reduction program and improve best practices in the software development life cycle:
|

