Tethik / cybersecurity-threat-modeling

An ongoing & curated collection of awesome software best practices and techniques, libraries and frameworks, E-books and videos, websites, blog posts, links to github Repositories, technical guidelines and important resources about Threat Modeling in Cybersecurity.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Threat Modeling: Theory, Techniques & Tools

An ongoing & curated collection of awesome software best practices and techniques, libraries and frameworks, E-books and videos, websites, blog posts, links to github Repositories, technical guidelines and important resources about Threat Modeling in Cybersecurity.

Thanks to all contributors, you're awesome and wouldn't be possible without you! Our goal is to build a categorized community-driven collection of very well-known resources.

Introduction

Threat Modeling is one of the most essential - and most misunderstood - parts of the development life cycle. Whether you're a security practitioner or a member of a development team, this guide will help you gain a better understanding of how you can apply core threat modeling concepts to your practice to protect your systems against threats.

threat-modeling-intro

The Basics of Threat Modeling

1) The Process of Threat Modeling

That is analyzing a system to look for weaknesses that come from less-desirable design choices. process

2) The Goal of threat Modeling

That is to identify these weaknesses before they are baked into the system (as a result of implementation or deployment) so you can take corrective action as early as possible.

3) The Activity of Threat Modeling

A conceptual exercise that aims to help you understand which characteristics of a system’s design should be modified to reduce risk in the system to an acceptable level for its owners, users, and operators. activity

When performing threat modeling, you look at a system as a collection of its components and their interactions with the world outside the system (like other systems it interacts with) and the actors that may perform actions on these systems. Then you try to imagine how these components and interactions may fail or be made to fail. From this process, you’ll identify threats to the system, which will in turn lead to changes and modifications to the system. The result is a system that can resist the threats you imagined.

Theory

Theory - Table of Contents

Techniques - Table of Contents

Tools - Table of Contents

Fundamentals

Books

Books on threat modeling.

Courses

Courses/Training videos on threat modeling.

Free

Paid

Videos

Videos talking about Threat modeling.

Tutorials and Blogs

Tutorials and blogs that explain threat modeling

Threat Model examples

Threat model examples for reference.

Tools

Tools which helps in threat modelling.

Free tools

  • OWASP Threat Dragon - An online threat modelling web application including system diagramming and a rule engine to auto-generate threats/mitigations.

  • Microsoft Threat Modeling Tool - Microsoft Threat Modeling Tool 2016 is a tool that helps in finding threats in the design phase of software projects.

  • Owasp-threat-dragon-gitlab - This project is a fork of the original OWASP Threat Dragon web application by Mike Goodwin with Gitlab integration instead of GitHub. You can use it with the Gitlab.com or your own instance of Gitlab.

  • Raindance - Project intended to make Attack Maps part of software development by reducing the time it takes to complete them.

  • Threatspec - Threatspec is an open source project that aims to close the gap between development and security by bringing the threat modelling process further into the development process.

  • PyTM - PyTM is an open source project providing a library for threat modeling with code. Describe your system using OO syntax (object.property = value) and have your threat modeling report automatically generated. 100+ threats currently supported.

  • MAL - MAL is an open source project that supports creation of cyber threat modeling systems and attack simulations.

  • Threagile - Threagile is an open-source toolkit for agile threat modeling

  • TicTaaC - Threat modeling-as-a-Code in a Tick (TicTaaC). Lightweight and easy-to-use Threat modeling solution following DevSecOps principles

  • Threat Modeling Online Game - Online version of the Elevation of Privilege and Cornucopia card games. The easy way to get started with threat modeling.

  • Deciduous - A web app that simplifies building attack decision trees. Hosted at https://www.deciduous.app/

  • drawio-threatmodeling - A collection of custom libraries to turn the free and cross-platform Draw.io diagramming application into the perfect tool for threat modeling.

Paid tools

  • Irius risk - Iriusrisk is a threat modeling tool with an adaptive questionnaire driven by an expert system which guides the user through straight forward questions about the technical architecture, the planned features and security context of the application.
  • SD elements - Automate Threat Modeling with SD Elements.
  • Foreseeti - SecuriCAD Vanguard is an attack simulation and automated threat modeling SaaS service that enables you to automatically simulate attacks on a virtual model of your AWS environment.
  • Tutamen Threat Model system - This tool allows threat model metadata to be added to any software diagram, turning that diagram into a threat model. It's simple to use, requires no lock-in license, and is driven by the Common Weakness Enumeration, STRIDE and OWASP Top 10.
  • YAKINDU Security Analyst - YAKINDU Security Analyst is a model-based software tool for threat analysis and risk assessment of technical systems. You can identify your protection needs, analyze possible threats and calculate the resulting risks. The underlying assessment model and calculation logic are highly customizable and can be integrated into existing toolchains.

Sponsor

Practical DevSecOps

Contributing

Please refer the guidelines at contributing.md for details.

^ back to top ^

License

MIT License & cc license

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

To the extent possible under law, Paul Veillard has waived all copyright and related or neighboring rights to this work.

About

An ongoing & curated collection of awesome software best practices and techniques, libraries and frameworks, E-books and videos, websites, blog posts, links to github Repositories, technical guidelines and important resources about Threat Modeling in Cybersecurity.

License:MIT License


Languages

Language:Go 58.9%Language:HTML 14.8%Language:CSS 13.0%Language:Python 12.2%Language:Dockerfile 0.5%Language:JavaScript 0.3%Language:Makefile 0.1%Language:Shell 0.1%Language:Tcl 0.0%Language:jq 0.0%Language:PowerShell 0.0%