This presentation isn t intended to be comprehensive, but hopefully we ll expose you to some new options or new ways of thinking about Threat



Similar documents
E-Commerce Threat Model using ThreatModeler

A Practical Approach to Threat Modeling

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

PASTA Abstract. Process for Attack S imulation & Threat Assessment Abstract. VerSprite, LLC Copyright 2013

Design Authorization Systems Using SecureUML

THE 2014 THREAT DETECTION CHECKLIST. Six ways to tell a criminal from a customer.

Threat Modeling. A workshop on how to create threat models by creating a hands-on example

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

Security Testing. How security testing is different Types of security attacks Threat modelling

Mobile Testing in a Fast Paced World

Web Application Remediation. OWASP San Antonio. March 28 th, 2007

Cloud Security Through Threat Modeling. Robert M. Zigweid Director of Services for IOActive

User Manual. COBA Server Manager ID UM.L

Time Monitoring Tool Software Requirements Specifications. Version <1.0>

1. For each of the 25 questions, multiply each question response risk value (1-5) by the number of times it was chosen by the survey takers.

Qlik Sense Enabling the New Enterprise

FORMS. Electronic management system of document flows and optimization of organizational processes

Vulnerability management lifecycle: defining vulnerability management

Intland s Medical Template

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

Information Systems Security

Virtual Private Network (VPN)

How to Develop Cloud Applications Based on Web App Security Lessons

Know your enemy. Class Objectives Threat Model Express. and know yourself and you can fight a hundred battles without disaster.

BASIC DRUPAL TRAINING. Getting Started with Digital Commons

BPEL. A Step by Step Guide: Model-Driven Generation with. Enterprise Architect. T his document will teach you how to use the Business Process

Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1

INTRODUCTION: SQL SERVER ACCESS / LOGIN ACCOUNT INFO:

Columbia University Web Security Standards and Practices. Objective and Scope

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

Requirements Management

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

Why should I back up my certificate? How do I create a backup copy of my certificate?

APNS Certificate generating and installation

A Quick Chat about SOMF Capabilities Page1 Service-Oriented Modeling Framework (SOMF) Building Attribution Models

Author: Ryan J Adams. Overview. Central Management Server. Security. Advantages

ISSECO Syllabus Public Version v1.0

A PRACTICAL APPROACH TO INCLUDE SECURITY IN SOFTWARE DEVELOPMENT

How To Manage Security On A Networked Computer System

User s Guide. Version 2.1

Security Bank of California Internet Banking Security Awareness

TDDC88 Lab 2 Unified Modeling Language (UML)

Complete Web Application Security. Phase1-Building Web Application Security into Your Development Process

REGULATIONS FOR THE SECURITY OF INTERNET BANKING

CSOS Certificate Support Guide. Version: 1.1 Published: October 1, 2006 Publisher: CSOS Certification Authority

BUSINESS ONLINE BANKING QUICK GUIDE For Company System Administrators

TeamViewer 9 Manual Management Console

Administration: Users and Roles

Mobile E-Commerce: Friend or Foe? A Cyber Security Study

dobe Acrobat XI Pro Digital Signatures

2/24/2010 ClassApps.com

Adding Questions, Polls and Surveys

Security in the Sauce Labs Cloud. Practices and protocols used in Sauce s infrastructure and Sauce Connect

APPLICATION THREAT MODELING

CampusIT Helpdesk Manual

Enhanced Security for Online Banking

Threat Modeling Architecting & Designing with Security in Mind OWASP. The OWASP Foundation Venkatesh Jagannathan

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

Threat Modelling (Web)Apps Myths and Best Practices OWASP The OWASP Foundation Matthias Rohr

Session 9: Module 4 - Infoview Reports Part 1

STABLE & SECURE BANK lab writeup. Page 1 of 21

Security in the Sauce Labs Cloud

Beyond passwords: Protect the mobile enterprise with smarter security solutions

Project 2: Penetration Testing (Phase II)

Working Practices for Protecting Electronic Information

Team Foundation Server 2010, Visual Studio Ultimate 2010, Team Build 2010, & Lab Management Beta 2 Installation Guide

Visual Studio.NET Database Projects

BMC Remedy Service Desk: Incident Management User s Guide

UP L04 Introduction to 3 rd Party Patching Using the 4A Model Hands-On Lab

Social Network Security. Frank K. F. Chow Vice-Chairperson Professional Information Security Association (PISA)

Getting software security Right

Have you ever done something the long way and then

TABLE OF CONTENTS. Terms of Use

Office of the Auditor General Performance Audit Report. Statewide UNIX Security Controls Department of Technology, Management, and Budget

How do I contact someone if my question is not answered in this FAQ?

Build (develop) and document Acceptance Transition to production (installation) Operations and maintenance support (postinstallation)

SmallBiz Dynamic Theme User Guide

Editor Manual for SharePoint Version December 2005

Security Trends. The Case for Intelligence-Driven Security. Copyright 2013 EMC Corporation. All rights reserved.

Kentico CMS security facts

Web Application Security Considerations

Mac Information. How to share files with Apple s MobileMe service

Threat Modeling. Deepak Manohar

Performing a Web Application Security Assessment

Mobile, Cloud, Advanced Threats: A Unified Approach to Security

Publishing Reports in Tableau

SIS Support Help Desk Center. SharePoint & Ticket System Overview

RFG Secure FTP. Web Interface

AEGEE Podio Guidelines

Architectural Design Patterns. Design and Use Cases for OWASP. Wei Zhang & Marco Morana OWASP Cincinnati, U.S.A.

DATABASE SECURITY MECHANISMS AND IMPLEMENTATIONS

Transferring data safely

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

Setting up an MS SQL Server for IGSS

Authoring for System Center 2012 Operations Manager

Network Security and Vulnerability Assessment Solutions

Criteria for web application security check. Version

Managers Your guts - Our glory. j.dowley@hotmail.com

Best Practices, Procedures and Methods for Access Control Management. Michael Haythorn

Transcription:

1

2

3

4

This presentation isn t intended to be comprehensive, but hopefully we ll expose you to some new options or new ways of thinking about Threat Modeling. 5

Security people don t all agree on the definitions for Risk, Threat, Vulnerability or what Risk Management, Threat Management and Threat Modeling are. These are my definitions. Another way of describing Risk Management is Information Security Program. 6

7

Threat Models are done primarily for the benefit of the development team. They are used to address possible issues in the design to prevent vulnerabilities from being introduced. There is a lot of information out there on Threat Modeling and a lot of different views and approaches. I encourage you to search the web and read as many of the different views on Threat Modeling as you can. I m going to share with you the names of some products that can help in this area, I will show you one particular product I really like, and will end with a demonstration of how to add threat modeling activities into standard UML model-driven design with common tools. 8

Regardless of the specific methodology employed or tools used, these are basic activities that should be part of a complete Threat Modeling process. 9

Web systems like Archer & Rsam Graphical systems like MS Threat Modeling Tool, MyAppSecurity Threat Modeler, Prevari Technology Risk Manager 10

You can produce attack trees with many common diagramming tools like Visio, or Mind Mapping tools like FreeMind. The root of the tree is one specific type of compromise and the branches and nodes of the tree list all the possible ways you can think of to perform the compromise. 11

Whatever approach you use to create a Threat Model, you probably want to have some method of ranking the severity of a given threat. This way you can determine how to prioritize resolution. 12

STRIDE describes the type of vulnerability, DREAD describes the level of risk 13

14

Minimal, Low, Moderate, High, Critical or 1-25 Probability: Best Guess. One of the problems with this approach. 15

There are other systems out there like this one. The elements are different but the concept is the same. For each threat, each element gets a score and they are added up, not always taking the average. 16

17

18

Mature as in its been around for many years and there have been many releases. Not so mature, in my opinion, in terms of functionality. 19

The tool requires the completion of 3 tasks before a completed threat model can be turned into a report. The tasks are shown at the bottom left. The first task consists of drawing a basic diagram of the system to be evaluated. MS has gone for the ultra-simplified approach to system modeling, as you can see here. The only elements that can be depicted in the diagram are the ones shown in the stencil. This type of diagram is called a Data Flow Diagram (DFD). 20

The 2 nd task, which MS calls analysis requires certifying that either no issues exist for each STRIDE element or documenting the ones that do. In this app, analysis is really done by the user. They supply a library of common threats, but not common impacts, controls, etc.???? 21

The 3 rd task is to document things that are not directly part of the application but that affect it. 22

The final task performs the actual analysis by creating reports listing all of the issues and any mitigating controls that have been documented. 23

24

This modeling application takes a more friendly and visually pleasing approach. Each function has its own icon as opposed to TMT where every function has the same icon. The app comes with a library of pre-defined icons/functions and allows the user to create their own. There are pre-made templates and icon/function sets for different types of apps such as Banking, ecommerce, Social, etc. Due to time constraints I cannot show a complete model or flow through the application, but I do want to show a few elements of the app and a model to give you an idea of how this works. 25

As previously mentioned, one key ingredient for a good threat modeling application is that it must have a library of (at least) common threats, mitigating controls, & data elements. The controls and classifications of data elements should be drawn from organization security policies, which are represented in this application as Rules. This application, like others in the space also works off of a database of common questions that the user answers to determine which threats exist based on implemented functionality and presence or not of required mitigating controls. This application comes with an extensive library, and can be completely customized. 26

When you start to create a Threat Model in this app, one of the first things you do is indicate which data elements the system uses. The available data elements are predefined in the library, along with their data classification, per organizational security policy. 27

Continue building the model by answering questions about the controls to be implemented in the system. Questions come from the library and serve to enforce policy. The answers are used as inputs to the threat model. 28

A further step involves indicating which data elements are used by each specific component. In this screenshot User Name and Password are assigned to the Login component. 29

Once a component is defined with its data elements and technical controls, a list of applicable rules/policies gets added to the properties of the component. This screenshot shows rules/policies to apply to the Login component. 30

Once the model is complete, you can use different views to look at the risks from different perspectives. This screenshot shows only components susceptible to SQL Injection. 31

This view shows all threats for one specific component (Login) along with their current risk level. The Status and Comments field are used by developers as they respond to the findings. 32

This is a view that shows a list of all threats to all components and the mitigating factors. The application has much more functionality, including being able to produce reports like TMT. For the sake of time however, we must move on. 33

This is my preferred approach and one that I share with my clients. Most approaches to threat modeling, including the ones just seen in the two modeling apps, as well as all of the applications that work on the Q&A forms approach are, in my opinion, all missing something very pertinent. They all focus on finding technical threats to particular system components, which is good, but there is something else they should be looking at. Can you guess what it is? 34

How the app or components of the app will be used! So, like we always should do when doing any UML model-driven design, we start with Use Cases! 35

then we figure out how the use cases can be subverted and we add Mis-use or Abuse Cases from the Attacker s point of view. Note that I am focusing on threats related to fraud here but it could easily be any type of info-security threat. For the sake of simplicity, this model has only one type of attacker, but in reality we typically have to account for multiple types of attackers. I usually go with External Fraudster, Internal Fraudster and Customer Fraudster. 36

These mis-use cases must now be seen as extended use cases that the design must solve for. 37

My preferred CASE tool, but there are others. (Computer Aided Software Engineering) 38

We started with Use Cases, next, let s take a look at some other design models. We are now looking at a simple, but authentic Communication Model for a login process. Note that the validatecredentials() function uses ID and PW as parameters. Note now on the right, in the Project Browser window in this design tool, what should look like a pretty standard list of models to anyone who does model-driven design with UML. With one possible exception: the Security Model. Let s look at it. Notice that there are 3 packages or sub-sections to the Security Model Controls, Data Elements, and Threats. 39

Let s look at the Controls. In this model we have a bunch of packages of security controls shown as components. In the Communication Model we saw that there was an authentication function that used ID and Password 40

by viewing the properties of the ID/Password control component, we can see that there are Security requirements regarding how ID/Password components must be implemented 41

and there are details about how the component is actually implemented. How did these get there? Model driven architecture is usually done by working off of standard templates, or project files, and then modifying them for the system being designed. The Security Model I m showing you would be part of the base model or project file used by every project. The Requirements for each security control will be present in the model, and are based on organizational policy (or best practice). When applicable, the Parameters for a particular security component will also be available but their values will have to be filled in. Through process, it is the Architect s responsibility to fill in these values and make any changes to any of the details of any used control if there will be deviation from policy. The Architect can also note why there is deviation on one of the other tabs of this window. Controls listed which are not used in any way by the project are simply deleted from the model. 42

Moving on, here we see a simple Component diagram and a list of data elements associated with a specific component 43

Here we see how data classifications are a property of the data element. Remember, these are created in a base model and inherited by every project. 44

Here in the Threats section of the Security model we see an unfinished Threat Tree. 45

Now this may be all nice for Architects, designers, those versed in UML and those who have access to a tool like this. But what about others in an organization that are part of the Security process? In my experience, most of my clients personnel who perform the actual risk assessment like to, or are required to work with Word documents. In most cases, the final report or Risk Assessment for a particular system or project is presented and stored as a Word document. EA allows you to export all or parts of your model to Word (and a variety of other formats). This is a simple export of the Security Model only, with no customization. With a bit of customization the report would look a lot snazzier. In any case, a security consultant or risk analyst looking at this would be able to easily understand the security aspects of this system or project. Remember, none of the text in this document is typed and formatted by hand, it is all exported from the models in the EA project. 46

47

The point of this presentation was to make you aware of some of the approaches out there that you may want to try. 48

49