Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "version": "2.2.0",
- "summary": {
- "title": "My Premium Dealership",
- "owner": "Jr. Security Engineer",
- "description": "\"My Premium Dealership\" is a B2C application with a micro-service architecture that allows users to request mechanic services for their vehicle. ",
- "id": 0
- },
- "detail": {
- "contributors": [
- {
- "name": "Iman (Infra)"
- },
- {
- "name": "Devon (Development)"
- },
- {
- "name": "Suzy (Security)"
- },
- {
- "name": "Greta (GRC)"
- },
- {
- "name": "Sal (Stakeholder)"
- }
- ],
- "diagrams": [
- {
- "id": 0,
- "title": "mypremiumdealership.com",
- "diagramType": "STRIDE",
- "placeholder": "New STRIDE diagram description",
- "thumbnail": "./public/content/images/thumbnail.stride.jpg",
- "version": "2.2.0",
- "cells": [
- {
- "position": {
- "x": -3.7500000000003126,
- "y": 75.00000000000011
- },
- "size": {
- "width": 170,
- "height": 360
- },
- "shape": "trust-boundary-box",
- "attrs": {
- "headerText": {
- "text": "Public Network"
- }
- },
- "zIndex": -1,
- "id": "08345bac-7f6f-425e-8a96-a203b6722bc8",
- "data": {
- "type": "tm.BoundaryBox",
- "name": "Public Network",
- "description": "",
- "isTrustBoundary": true,
- "hasOpenThreats": false
- }
- },
- {
- "position": {
- "x": 234.9999999999999,
- "y": 75.0000000000002
- },
- "size": {
- "width": 360,
- "height": 360
- },
- "shape": "trust-boundary-box",
- "attrs": {
- "headerText": {
- "text": "Data Center (Protected)"
- }
- },
- "zIndex": -1,
- "id": "9708d85d-4475-4d31-98ba-7f890f487940",
- "data": {
- "type": "tm.BoundaryBox",
- "name": "Data Center (Protected)",
- "description": "",
- "isTrustBoundary": true,
- "hasOpenThreats": false
- }
- },
- {
- "position": {
- "x": 679.9999999999998,
- "y": 70.00000000000011
- },
- "size": {
- "width": 230,
- "height": 370
- },
- "shape": "trust-boundary-box",
- "attrs": {
- "headerText": {
- "text": "Data Center (Restricted)"
- }
- },
- "zIndex": -1,
- "id": "a69562de-853a-4eca-8008-d0a2edf3ac6e",
- "data": {
- "type": "tm.BoundaryBox",
- "name": "Data Center (Restricted)",
- "description": "",
- "isTrustBoundary": true,
- "hasOpenThreats": false
- }
- },
- {
- "position": {
- "x": 20,
- "y": 150
- },
- "size": {
- "width": 112.5,
- "height": 60
- },
- "attrs": {
- "text": {
- "text": "User"
- },
- "body": {
- "stroke": "red",
- "strokeWidth": 2.5,
- "strokeDasharray": null
- }
- },
- "visible": true,
- "shape": "actor",
- "zIndex": 2,
- "id": "97f211c4-cd4b-411e-8479-e60cf7ff21c6",
- "data": {
- "type": "tm.Actor",
- "name": "User",
- "description": "",
- "outOfScope": false,
- "reasonOutOfScope": "",
- "hasOpenThreats": true,
- "providesAuthentication": true,
- "threats": [
- {
- "id": "e2cb57d6-ab78-4dc1-8e0c-2c91e982609a",
- "title": "Account Takeover",
- "status": "Open",
- "severity": "Medium",
- "type": "Spoofing",
- "description": "MFA not yet implemented.",
- "mitigation": "Provide remediation for this threat or a reason if status is N/A",
- "modelType": "STRIDE",
- "new": false,
- "number": 13,
- "score": ""
- }
- ]
- }
- },
- {
- "shape": "flow",
- "attrs": {
- "line": {
- "stroke": "#333333",
- "targetMarker": {
- "name": "block"
- },
- "sourceMarker": {
- "name": "block"
- },
- "strokeDasharray": null
- }
- },
- "width": 200,
- "height": 100,
- "zIndex": 10,
- "connector": "smooth",
- "data": {
- "type": "tm.Flow",
- "name": "Data Flow",
- "description": "",
- "outOfScope": false,
- "reasonOutOfScope": "",
- "hasOpenThreats": false,
- "isBidirectional": true,
- "isEncrypted": false,
- "isPublicNetwork": false,
- "protocol": "",
- "threats": []
- },
- "id": "efca1f7d-585b-464c-a248-115e47faa17e",
- "source": {
- "cell": "c12ebdc9-5206-4a36-bed1-393ef6b33c54"
- },
- "target": {
- "cell": "f3b93565-510d-4b23-9726-2e0e233e7e2c"
- }
- },
- {
- "shape": "flow",
- "attrs": {
- "line": {
- "stroke": "#333333",
- "targetMarker": {
- "name": "block"
- },
- "sourceMarker": {
- "name": "block"
- },
- "strokeDasharray": null
- }
- },
- "width": 200,
- "height": 100,
- "zIndex": 10,
- "connector": "smooth",
- "data": {
- "type": "tm.Flow",
- "name": "Data Flow",
- "description": "",
- "outOfScope": false,
- "reasonOutOfScope": "",
- "hasOpenThreats": false,
- "isBidirectional": true,
- "isEncrypted": false,
- "isPublicNetwork": false,
- "protocol": "",
- "threats": []
- },
- "id": "ac9a30dc-b439-4149-adf3-b1ebf9bcce7e",
- "source": {
- "cell": "966a7aaa-80b9-4a8b-9eb6-197286fffa1c"
- },
- "target": {
- "cell": "f3b93565-510d-4b23-9726-2e0e233e7e2c"
- }
- },
- {
- "shape": "flow",
- "attrs": {
- "line": {
- "stroke": "#333333",
- "targetMarker": {
- "name": "block"
- },
- "sourceMarker": {
- "name": "block"
- },
- "strokeDasharray": null
- }
- },
- "width": 200,
- "height": 100,
- "zIndex": 10,
- "connector": "smooth",
- "data": {
- "type": "tm.Flow",
- "name": "REST",
- "description": "",
- "outOfScope": false,
- "reasonOutOfScope": "",
- "hasOpenThreats": false,
- "isBidirectional": true,
- "isEncrypted": false,
- "isPublicNetwork": false,
- "protocol": "HTTP",
- "threats": []
- },
- "id": "670fdc61-a5d9-4228-8771-39c0d7688bf7",
- "labels": [
- "REST"
- ],
- "source": {
- "cell": "9eb5724a-c842-41c7-b1f2-1b695d8ac41c"
- },
- "target": {
- "cell": "c12ebdc9-5206-4a36-bed1-393ef6b33c54"
- }
- },
- {
- "shape": "flow",
- "attrs": {
- "line": {
- "stroke": "#333333",
- "targetMarker": {
- "name": "block"
- },
- "sourceMarker": {
- "name": "block"
- },
- "strokeDasharray": null
- }
- },
- "width": 200,
- "height": 100,
- "zIndex": 10,
- "connector": "smooth",
- "data": {
- "type": "tm.Flow",
- "name": "REST",
- "description": "",
- "outOfScope": false,
- "reasonOutOfScope": "",
- "hasOpenThreats": false,
- "isBidirectional": true,
- "isEncrypted": false,
- "isPublicNetwork": false,
- "protocol": "",
- "threats": []
- },
- "id": "3c8361cd-8e17-4ada-9ea6-4c214e8267fa",
- "labels": [
- "REST"
- ],
- "source": {
- "cell": "9eb5724a-c842-41c7-b1f2-1b695d8ac41c"
- },
- "target": {
- "cell": "966a7aaa-80b9-4a8b-9eb6-197286fffa1c"
- },
- "vertices": [
- {
- "x": 400,
- "y": 300
- }
- ]
- },
- {
- "shape": "flow",
- "attrs": {
- "line": {
- "stroke": "#333333",
- "targetMarker": {
- "name": "block"
- },
- "sourceMarker": {
- "name": "block"
- },
- "strokeDasharray": null
- }
- },
- "width": 200,
- "height": 100,
- "zIndex": 10,
- "connector": "smooth",
- "data": {
- "type": "tm.Flow",
- "name": "Web Traffic",
- "description": "",
- "outOfScope": false,
- "reasonOutOfScope": "",
- "hasOpenThreats": false,
- "isBidirectional": true,
- "isEncrypted": true,
- "isPublicNetwork": true,
- "protocol": "HTTPS",
- "threats": [
- {
- "id": "6cce44c1-09a5-436a-8c6e-76f0b8613e53",
- "title": "Credential Sniffing",
- "status": "Mitigated",
- "severity": "Medium",
- "type": "Information disclosure",
- "description": "Unencrypted traffic exposes user credentials",
- "mitigation": "Implement HTTPS to encrypt data-in-transit",
- "modelType": "STRIDE",
- "new": false,
- "number": 16,
- "score": ""
- }
- ]
- },
- "id": "26203791-f7f3-4db5-99b9-bfada293e7f3",
- "labels": [
- "Web Traffic"
- ],
- "source": {
- "cell": "97f211c4-cd4b-411e-8479-e60cf7ff21c6"
- },
- "target": {
- "cell": "9eb5724a-c842-41c7-b1f2-1b695d8ac41c"
- }
- },
- {
- "position": {
- "x": 250,
- "y": 190.0000000000001
- },
- "size": {
- "width": 140,
- "height": 130
- },
- "attrs": {
- "text": {
- "text": "Web Client"
- },
- "body": {
- "stroke": "#333333",
- "strokeWidth": 1.5,
- "strokeDasharray": null
- }
- },
- "visible": true,
- "shape": "process",
- "zIndex": 11,
- "id": "9eb5724a-c842-41c7-b1f2-1b695d8ac41c",
- "data": {
- "type": "tm.Process",
- "name": "Web Client",
- "description": "",
- "outOfScope": false,
- "reasonOutOfScope": "",
- "hasOpenThreats": false,
- "handlesCardPayment": false,
- "handlesGoodsOrServices": false,
- "isWebApplication": false,
- "privilegeLevel": "",
- "threats": []
- }
- },
- {
- "position": {
- "x": 734.9999999999998,
- "y": 190.0000000000001
- },
- "size": {
- "width": 120,
- "height": 60
- },
- "attrs": {
- "text": {
- "text": "PostgreSQL"
- },
- "topLine": {
- "strokeWidth": 1.5,
- "strokeDasharray": null
- },
- "bottomLine": {
- "strokeWidth": 1.5,
- "strokeDasharray": null
- }
- },
- "visible": true,
- "shape": "store",
- "zIndex": 12,
- "id": "f3b93565-510d-4b23-9726-2e0e233e7e2c",
- "data": {
- "type": "tm.Store",
- "name": "PostgreSQL",
- "description": "",
- "outOfScope": false,
- "reasonOutOfScope": "",
- "hasOpenThreats": false,
- "isALog": false,
- "isEncrypted": false,
- "isSigned": false,
- "storesCredentials": false,
- "storesInventory": false,
- "threats": []
- }
- },
- {
- "position": {
- "x": 431.25,
- "y": 130.0000000000001
- },
- "size": {
- "width": 150,
- "height": 130
- },
- "attrs": {
- "text": {
- "text": "Identity API"
- },
- "body": {
- "stroke": "#333333",
- "strokeWidth": 1.5,
- "strokeDasharray": null
- }
- },
- "visible": true,
- "shape": "process",
- "zIndex": 21,
- "id": "c12ebdc9-5206-4a36-bed1-393ef6b33c54",
- "data": {
- "type": "tm.Process",
- "name": "Identity API",
- "description": "Handles user signup and login. Written in Java.",
- "outOfScope": false,
- "reasonOutOfScope": "",
- "hasOpenThreats": false,
- "handlesCardPayment": false,
- "handlesGoodsOrServices": false,
- "isWebApplication": false,
- "privilegeLevel": "",
- "threats": []
- }
- },
- {
- "position": {
- "x": 431.25,
- "y": 295
- },
- "size": {
- "width": 150,
- "height": 130
- },
- "attrs": {
- "text": {
- "text": "Workshop API"
- },
- "body": {
- "stroke": "#333333",
- "strokeWidth": 1.5,
- "strokeDasharray": null
- }
- },
- "visible": true,
- "shape": "process",
- "zIndex": 22,
- "id": "966a7aaa-80b9-4a8b-9eb6-197286fffa1c",
- "data": {
- "type": "tm.Process",
- "name": "Workshop API",
- "description": "Handles mechanic service requests using VIN and generates report using provided URL. Written in Python.",
- "outOfScope": false,
- "reasonOutOfScope": "",
- "hasOpenThreats": false,
- "handlesCardPayment": false,
- "handlesGoodsOrServices": false,
- "isWebApplication": false,
- "privilegeLevel": "",
- "threats": [
- {
- "id": "173052b2-5abf-4da5-931d-edaf4ee93972",
- "title": "Server-Side Request Forgery",
- "status": "Mitigated",
- "severity": "Medium",
- "type": "Tampering",
- "description": "The attacker can indirectly access other systems through request manipulation.",
- "mitigation": "Input validation. Disable URL redirection in the web client. Restrict network access via firewall rules.",
- "modelType": "STRIDE",
- "new": false,
- "number": 15,
- "score": ""
- }
- ]
- }
- }
- ],
- "description": "Threat Model for \"My Premium Dealership,\" a microservice architecture B2C application."
- }
- ],
- "diagramTop": 4,
- "reviewer": "Sr. Security Engineer",
- "threatTop": 18
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment