Skip to content

Commit cc1440f

Browse files
committed
ARCH and CODE first draft control group definitions
1 parent 5764dfb commit cc1440f

File tree

7 files changed

+743
-1
lines changed

7 files changed

+743
-1
lines changed

document/0.1/04-TASVS-ARCH.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
Architecture and threat modeling are inextricably linked. Threat modeling informs architectural decisions, while architecture provides the context for identifying and addressing threats systematically. This symbiotic relationship is essential for delivering secure software and systems that meet their intended design goals.
66

7+
78
## Testing Checklist
89

910
| TASVS-ID | Description | L1 | L2 | L3 |
@@ -16,4 +17,46 @@ Architecture and threat modeling are inextricably linked. Threat modeling inform
1617
| TASVS-ARCH-1.5 | Threat model checked-in to source code repository. | X | X | X |
1718
| TASVS-ARCH-1.6 | Threat model updated regularly as part of a documented process within development team's SSDLC. | | X | X |
1819

20+
## Control Group Definitions
21+
22+
### TASVS-ARCH-1.1
23+
24+
#### What defines "Low Fidelity" Modeling?
25+
26+
"Low Fidelity" modeling greatly reduces the effort to create an initial threat model. A "Low Fidelity" system model still includes assets, links, and trust boundaries, but with limited attributes.
27+
28+
Recommended "Low Fidelity" baseline:
29+
- Define data assets with CIA (confidentiality/integrity/availability)
30+
- Define technical assets with technology.
31+
- Define communication links with protocol.
32+
- Place technical assets inside trust boundaries.
33+
34+
That's it! Later, continue to elaborate the model and raise fidelity score. Remember the system model is a means to an end - identifying threats.
35+
36+
### TASVS-ARCH-1.2
37+
38+
"high fidelity" threat modeling is a more detailed and comprehensive approach to threat modeling. It includes all the elements of a low-fidelity model but adds more detail and context to the model. This includes:
39+
40+
- Detailed data flow diagrams
41+
- Detailed trust boundaries
42+
- Detailed threat identification
43+
44+
### TASVS-ARCH-1.3
45+
46+
Server-side components and dependencies should be included in the threat modeling process to ensure that all potential threats are identified and addressed. This includes cloud APIs, OIDC providers, file storage, and any other external services that the thick client interacts with. By including these components in the threat model, you can identify potential vulnerabilities and design security controls to mitigate them.
47+
48+
### TASVS-ARCH-1.4
49+
50+
Phases of threat modeling include system modeling, auto-threat identification, manual threat identification, and threat mitigation. Each phase is essential to the overall threat modeling process and should be completed thoroughly to ensure that all potential threats are identified and addressed.
51+
52+
### TASVS-ARCH-1.5
53+
54+
The threat model should be checked into the source code repository to ensure that it is accessible to all members of the development team. This allows team members to review the threat model and provide feedback, as well as track changes to the model over time.
55+
56+
57+
### TASVS-ARCH-1.6
58+
59+
The threat model should be updated regularly as part of a documented process within the development team's SSDLC. This ensures that the threat model remains current and relevant as the thick client evolves and new threats emerge. Regular updates to the threat model help to ensure that the thick client remains secure and resilient to potential threats.
60+
61+
1962
\newpage{}

document/0.1/05-TASVS-CODE.md

Lines changed: 527 additions & 1 deletion
Large diffs are not rendered by default.

document/0.1/06-TASVS-CONF.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,36 @@
1818
| TASVS-CONF-1.6 | Verify that a Software Bill of Materials (SBOM) is maintained of all third party libraries in use. | X | X | X |
1919
| TASVS-CONF-1.7 | Ensure that all software components, libraries, frameworks, and runtimes used in the application are up-to-date and not end-of-life or obsolete. Outdated or obsolete components can introduce security vulnerabilities, performance issues, and compatibility problems. | X | X | X |
2020

21+
22+
## Control Group Definitions
23+
24+
### TASVS-CONF-1.1
25+
26+
TBC
27+
28+
### TASVS-CONF-1.2
29+
30+
TBC
31+
32+
### TASVS-CONF-1.3
33+
34+
TBC
35+
36+
### TASVS-CONF-1.4
37+
38+
TBC
39+
40+
### TASVS-CONF-1.5
41+
42+
TBC
43+
44+
### TASVS-CONF-1.6
45+
46+
TBC
47+
48+
### TASVS-CONF-1.7
49+
50+
TBC
51+
52+
2153
\newpage{}

document/0.1/07-TASVS-CRYPTO.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,39 @@
1919
| TASVS-CRYPTO-3.1 | Verify that all cryptographic modules fail securely, and errors are handled in a way that does not enable Padding Oracle attacks. | X | X | X |
2020
| TASVS-CRYPTO-3.2 | Verify that industry proven or government approved cryptographic algorithms, modes, and libraries are used, instead of custom coded cryptography. | X | X | X |
2121

22+
23+
## Control Group Definitions
24+
25+
### TASVS-CRYPTO-1.1
26+
27+
TBC
28+
29+
### TASVS-CRYPTO-2.1
30+
31+
TBC
32+
33+
### TASVS-CRYPTO-2.2
34+
35+
TBC
36+
37+
### TASVS-CRYPTO-2.3
38+
39+
TBC
40+
41+
### TASVS-CRYPTO-2.4
42+
43+
TBC
44+
45+
### TASVS-CRYPTO-3.1
46+
47+
TBC
48+
49+
### TASVS-CRYPTO-3.2
50+
51+
TBC
52+
53+
54+
55+
56+
2257
\newpage{}

document/0.1/08-TASVS-NETWORK.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,70 @@
2727
| TASVS-NETWORK-4.3 | Verify that data selection or database queries (e.g. SQL, HQL, ORM, NoSQL) use parameterized queries, ORMs, entity frameworks, or are otherwise protected from SQL injection attacks. | X | X | X |
2828
| TASVS-NETWORK-4.4 | Verify that the thick client doesn't expose services on the network like debugging features, even if bound to the local host. | X | X | X |
2929

30+
31+
## Control Group Definitions
32+
33+
### TASVS-NETWORK-1.1
34+
35+
TBC
36+
37+
### TASVS-NETWORK-1.2
38+
39+
TBC
40+
41+
### TASVS-NETWORK-2.1
42+
43+
TBC
44+
45+
### TASVS-NETWORK-2.2
46+
47+
TBC
48+
49+
### TASVS-NETWORK-2.3
50+
51+
TBC
52+
53+
### TASVS-NETWORK-2.4
54+
55+
TBC
56+
57+
### TASVS-NETWORK-2.5
58+
59+
TBC
60+
61+
### TASVS-NETWORK-2.6
62+
63+
TBC
64+
65+
### TASVS-NETWORK-2.7
66+
67+
TBC
68+
69+
### TASVS-NETWORK-3.1
70+
71+
TBC
72+
73+
### TASVS-NETWORK-3.2
74+
75+
TBC
76+
77+
### TASVS-NETWORK-4.1
78+
79+
TBC
80+
81+
### TASVS-NETWORK-4.2
82+
83+
TBC
84+
85+
### TASVS-NETWORK-4.3
86+
87+
TBC
88+
89+
### TASVS-NETWORK-4.4
90+
91+
TBC
92+
93+
94+
95+
3096
\newpage{}

document/0.1/09-TASVS-STORAGE.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,44 @@
1919
| TASVS-STORAGE-2.1 | DLL Replacement: Swapping a genuine DLL with a malicious one, optionally using DLL Proxying to preserve the original DLL's functionality. | X | X | X |
2020
| TASVS-STORAGE-2.2 | <br>DLL Search Order Hijacking: Placing the malicious DLL in a search path ahead of the legitimate one, exploiting the application's search pattern. | X | X | X |
2121

22+
## Control Group Definitions
23+
24+
### TASVS-STORAGE-1.1
25+
26+
TBC
27+
28+
### TASVS-STORAGE-1.2
29+
30+
TBC
31+
32+
### TASVS-STORAGE-1.3
33+
34+
TBC
35+
36+
### TASVS-STORAGE-1.4
37+
38+
TBC
39+
40+
### TASVS-STORAGE-1.5
41+
42+
TBC
43+
44+
### TASVS-STORAGE-1.6
45+
46+
TBC
47+
48+
### TASVS-STORAGE-1.7
49+
50+
TBC
51+
52+
### TASVS-STORAGE-2.1
53+
54+
TBC
55+
56+
### TASVS-STORAGE-2.2
57+
58+
TBC
59+
60+
61+
2262
\newpage{}

document/TASVS-v0.1.pdf

-139 KB
Binary file not shown.

0 commit comments

Comments
 (0)