Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP



Similar documents
Web Application Security Considerations

Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

Threat Modeling/ Security Testing. Tarun Banga, Adobe 1. Agenda

Vulnerability Management in an Application Security World. AppSec DC November 12 th, The OWASP Foundation

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

Entire contents 2011 Praetorian. All rights reserved. Information Security Provider and Research Center

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

The Top Web Application Attacks: Are you vulnerable?

Learning objectives for today s session

Turning the Battleship: How to Build Secure Software in Large Organizations. Dan Cornell May 11 th, 2006

Mobile Application Threat Analysis

Microsoft STRIDE (six) threat categories

Adobe Systems Incorporated

Threat Modeling: The Art of Identifying, Assessing, and Mitigating security threats

Threat Modeling. Deepak Manohar

How to Build a Trusted Application. John Dickson, CISSP

ICTN Enterprise Database Security Issues and Solutions

Web Application Security

A Practical Approach to Threat Modeling

Strategic Information Security. Attacking and Defending Web Services

Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP

Attack Vector Detail Report Atlassian

Application Security Testing. Generic Test Strategy

Threat Modeling. 1. Some Common Definition (RFC 2828)

What is Web Security? Motivation

Cross-Site Scripting

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

SECURITY ADVISORY. December 2008 Barracuda Load Balancer admin login Cross-site Scripting

THREAT MODELLING FOR SQL SERVERS Designing a Secure Database in a Web Application

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

How to start a software security initiative within your organization: a maturity based and metrics driven approach OWASP

Web Application Security

Penetration Test Report

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

Check list for web developers

Last update: February 23, 2004

Thick Client Application Security

Network Security Audit. Vulnerability Assessment (VA)

Threat modeling. Tuomas Aura T Information security technology. Aalto University, autumn 2011

Webapps Vulnerability Report

INTRUSION PROTECTION AGAINST SQL INJECTION ATTACKS USING REVERSE PROXY

Web Application Guidelines

External Network & Web Application Assessment. For The XXX Group LLC October 2012

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Application Security: What Does it Take to Build and Test a Trusted App? John Dickson, CISSP Denim Group

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

Criteria for web application security check. Version

Passing PCI Compliance How to Address the Application Security Mandates

Pentests more than just using the proper tools

Software Security Touchpoint: Architectural Risk Analysis

Essential IT Security Testing

Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION

APPLICATION THREAT MODELING

Rational AppScan & Ounce Products

Development Processes (Lecture outline)

WHITEPAPER. Nessus Exploit Integration

Columbia University Web Security Standards and Practices. Objective and Scope

A Review of Web Application Security for Preventing Cyber Crimes

The Weakest Link: Mitigating Web Application Vulnerabilities. webscurity White Paper. webscurity Inc. Minneapolis, Minnesota USA

Web Engineering Web Application Security Issues

ISSECO Syllabus Public Version v1.0

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Web application testing

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

Application Security Testing. Erez Metula (CISSP), Founder Application Security Expert

Data Breaches and Web Servers: The Giant Sucking Sound

The introduction covers the recent changes is security threats and the effect those changes have on how we protect systems.

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities

8070.S000 Application Security

elearning for Secure Application Development

FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

How to Grow and Transform your Security Program into the Cloud

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

Pentests more than just using the proper tools

Application Intrusion Detection

A Tokenization and Encryption based Multi-Layer Architecture to Detect and Prevent SQL Injection Attack

VIDEO intypedia007en LESSON 7: WEB APPLICATION SECURITY - INTRODUCTION TO SQL INJECTION TECHNIQUES. AUTHOR: Chema Alonso

SECURING YOUR SMALL BUSINESS. Principles of information security and risk management

Implementation of Web Application Security Solution using Open Source Gaurav Gupta 1, B. K. Murthy 2, P. N. Barwal 3

Course Modules for Software Security

Introduction to Information Security

Transcription:

Threat Modeling Categorizing the nature and severity of system vulnerabilities John B. Dickson, CISSP

What is Threat Modeling? Structured approach to identifying, quantifying, and addressing threats. Threat modeling allows system security staff to communicate the potential damage of security flaws and prioritize remediation efforts. 1

What Threat Modeling Covers Assets What valuable data and equipment should be secured? Threats What may an attacker do to the system? Vulnerabilities What flaws in the system allow an attacker to realize a threat? 2

Software Implementation Perfect World Actual Functionality Intended Functionality 3

Software Implementation Real World Actual Functionality Intended Functionality Built Features Bugs Unintended And Undocumented Functionality 4

Network Host Application Threats against the network Spoofed packets, etc. Threats against the host Buffer overflows, illicit paths, etc. Threats against the application SQL injection, XSS, input tampering, etc. 5

Who Does Threat Models and When Ideally, threat models are created during system design prior to any deployment. Requirements In practice, threat models are often created for existing systems, making it part of maintenance. Maintenance Deployment Architecture/Design Construction System designers with security experience are best equipped to identify the threats. Integration Testing 6

Security Integration Points within the SDLC Inception Design Development QA Deployment Source: Gartner (February 2006) 7

Steps to Threat Modeling Identify the Assets Describe the Architecture Break Down the Applications Identify the Threats Document and Classify the Threats Rate the Threats 8

Identify Assets Entry and exit points System assets and resources Trust levels (access categories) 9

An Example TekComCorp has a data collection web application that allows users to login in and enter or change personal data. The following information was collected on the application: Architecture: t Web Application - ASP.Net Database - SQL Server 2000 Assets: User Login Credentials User Personal Information Administrative Resources System Hardware 10

Microsoft Threat Reporting Template ID Unique ID # of the threat Name Brief name of the asset threat Description Detailed description of threat and its importance. STRIDE How can we classify this threat? Mitigated Is the application safe from this threat? Known Mitigation How can we protect against the threat? Investigation Notes What do we know about this threat so far? Entry Points What possible means does an adversary have? Assets What assets could be damaged? Threat Tree How can we visualize the threat? (Optional) 11

Threat Description ID 1 Name Description STRIDE classification Login Subversion An adversary tries to inject SQL commands through h a request into the application to circumvent the login process. Tampering with data Elevation of privilege 12

Categorizing Threats With STRIDE An acronym created by Microsoft to help categorize threats. Spoofing Identity Tampering with Data Repudiation Information Disclosure Denial of Service Elevation of Privilege 13

Threat Description (Cont) Mitigated? Known mitigation Investigation notes Entry points Assets Threat tree No Stored Procedures Parameterized Queries The database calls to in the application were reviewed and string concatenation was used on the login query. (1.1) 1) Login Page (1.2) Access to backend database None 14

The Difference Between a Threat and a Vulnerability A vulnerability is a valid way for an attacker to utilize a threat. A vulnerability is an actual exploit, while a threat is a theoretical exploit. Example: An adversary gaining privileged access to a sensitive database is a threat. An administrator account admin with the password admin is a vulnerability. 15

Vulnerability Description ID 1 Name Description STRIDE classification Login SQL injection The login query concatenates the username and login parameter to a SELECT statement: select 1 from logins where username = + username + and password = + password Tampering with data Elevation of privilege DREAD Rating 3 Corresponding threat ID 1 Bug 1 16

Rating Threats With DREAD An acronym created by Microsoft to rate the severity of a threat. Each quality is rated based on a scale developed for each project. On most projects a scale of 1 3 is sufficient. Damage Potential Reproducibility Exploitability Affected Users Discoverability How bad can an exploit hurt? How reliably can the flaw be exploited? How easy is the flaw to exploit? How many users can be impacted by an exploit? How visible is the vulnerability? The final DREAD rating is the average of all scores. 17

Rating Threats cont. High (3) Medium (2) Low (1) Damage potential Attacker can retrieve extremely sensitive data and corrupt or destroy data Attacker can retrieve sensitive data but do little else Attacker can only retrieve data that has little or no potential for harm Reproducibility Works every time; does Timing-dependent; works Rarely works not require a timing window or specific extreme cases only within a time window Exploitability Just about anyone could Attacker must be somewhat Attacker must be VERY do it knowledgeable and skilled knowledgeable and skilled Affected users Most or all users Some users Few if any users Discoverability Attacker can easily Attacker might discover the Attacker will have to dig to discover the vulnerability discover the vulnerability vulnerability 18

Threat Description ID 2 Name Adversary injects malicious JavaScript or HTML code in the web page. Description An adversary tries to inject malicious i JavaScript into web pages to capture session information. STRIDE classification Tampering with data Information Disclosure 19

Threat Description (Cont) Mitigated? Known mitigation Investigation notes Entry points Assets Threat tree No HTML Encoding Script Filtering The page allows entry of JavaScript code that will then be executed when an administrator views the record. (1.2) Information Update page (1.2) Access to backend database (1.3) User information None 20

Vulnerability Description ID 2 Name Description STRIDE classification Cross Site Scripting (XSS) JavaScript can be saved into the address field when editing personal information. If an administrator views this page, the JavaScript will run. Tampering Information Disclosure DREAD Rating 2 Corresponding threat ID 2 Bug 2 21

How to Use the Threat Model Where does it fit in the system development lifecycle? 22

Requirements The requirements specification defines all functionality the application will have. The application should never be able to do anything NOT specified in the requirements. Example: Requirements do not specify the level of authentication required for money transfers from account to account over the web. 23

Design System assets are derived from the design. Identify what data passed among components can and cannot be trusted. User s Web Browser Web Service User-Managed Database Administrator- Managed Database 24

Construction Always be mindful to keep users and assets protected from unreliable data. As a general rule, any data passed into a server page or function cannot be trusted not to have SQL or HTML injection. private String EXTRACT_ORDER = SELECT * FROM dtaorderinformation WHERE ; public static string RemoveOrderItem(string userid, string cartid, string itemid) { } private static string ProcessOrder(string userid, string cartid) { } 25

Integration Testing Test every identified threat prior to deployment. Report vulnerabilities by their impact on defined assets. Threat reporting should note strengths as well as weaknesses. User Trust Asset: 8 threats, 1 unmitigated An attacker can lock accounts, requiring administrators to unlock them, but they otherwise cannot attack a user through his or her browser. Security is relatively strong, but needs attention for next release. Order Database Asset: 3 threats, 2 unmitigated An attacker cannot gain administrative access, but can read any user s information and destroy data. Alarmingly unsecure. May require delay of deployment. 26

Deployment Ensure that IT systems do not defeat application safeguards. IT infrastructure should be tested against threats as well. Example: Preventing command-line injection in the application means little if an adversary has Telnet access to the server. A sturdy gate does no good if there is a hole in the wall. 27

Maintenance All system changes should be evaluated for impact on system assets. Effected assets should undergo threat tests as part of the normal change integration process. 28

Denim Group Contacts John B. Dickson, CISSP john@denimgroup.com 3463 Magic Dr, Ste 315 San Antonio, TX 78229-2992 Phone: (210) 572-4402 29