Skip to content

Commit adcc889

Browse files
committed
updated layout of defs, all defs have content, removed TASVS-CONF-1.7 extended TASVS-CODE-3.1 to replace
1 parent cc1440f commit adcc889

File tree

7 files changed

+169
-169
lines changed

7 files changed

+169
-169
lines changed

document/0.1/04-TASVS-ARCH.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ Architecture and threat modeling are inextricably linked. Threat modeling inform
1919

2020
## Control Group Definitions
2121

22-
### TASVS-ARCH-1.1
22+
### *TASVS-ARCH-1 - Threat Modeling*
23+
24+
### TASVS-ARCH-1.1 - Completed a low fidelity threat model for thick client.
2325

2426
#### What defines "Low Fidelity" Modeling?
2527

@@ -33,28 +35,28 @@ Recommended "Low Fidelity" baseline:
3335

3436
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.
3537

36-
### TASVS-ARCH-1.2
38+
### TASVS-ARCH-1.2 - Completed a high fidelity threat model for thick client which is in currently in production.
3739

3840
"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:
3941

4042
- Detailed data flow diagrams
4143
- Detailed trust boundaries
4244
- Detailed threat identification
4345

44-
### TASVS-ARCH-1.3
46+
### TASVS-ARCH-1.3 - Threat model includes server-side components and dependencies (cloud APIs, OIDC provider, file storage, etc.).
4547

4648
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.
4749

48-
### TASVS-ARCH-1.4
50+
### TASVS-ARCH-1.4 - Threat modeling process included all phases (system modeling, auto-threat identification, manual threat identification, threat mitigation).
4951

5052
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.
5153

52-
### TASVS-ARCH-1.5
54+
### TASVS-ARCH-1.5 - Threat model checked-in to source code repository.
5355

5456
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.
5557

5658

57-
### TASVS-ARCH-1.6
59+
### TASVS-ARCH-1.6 - Threat model updated regularly as part of a documented process within development team's SSDLC.
5860

5961
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.
6062

document/0.1/05-TASVS-CODE.md

Lines changed: 60 additions & 47 deletions
Large diffs are not rendered by default.

document/0.1/06-TASVS-CONF.md

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
## Control Objective
55

6+
Ensure that the application's configuration management processes are secure, reliable, and automated. This includes verifying secure build and deployment processes, proper compiler flag configurations, automated deployment scripts, removal of unnecessary features, sourcing third-party components from trusted repositories, maintaining a Software Bill of Materials (SBOM), and keeping all software components up-to-date.
67

8+
This control objective helps mitigate security vulnerabilities, ensures compliance, and maintains the integrity and availability of the application.
79

810
## Testing Checklist
911

@@ -16,38 +18,35 @@
1618
| TASVS-CONF-1.4 | Verify that all unneeded features, documentation, sample applications and configurations are removed. | X | X | X |
1719
| TASVS-CONF-1.5 | Verify that third party components come from pre-defined, trusted and continually maintained repositories. | X | X | X |
1820
| TASVS-CONF-1.6 | Verify that a Software Bill of Materials (SBOM) is maintained of all third party libraries in use. | X | X | X |
19-
| 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 |
2021

2122

2223
## Control Group Definitions
2324

24-
### TASVS-CONF-1.1
25+
### *TASVS-CONF-1 - General Configuration Checks*
2526

26-
TBC
27+
### TASVS-CONF-1.1 - Verify that the application build and deployment processes are performed in a secure and repeatable way, such as CI/CD automation, automated configuration management, and automated deployment scripts.
2728

28-
### TASVS-CONF-1.2
29+
Build and deployments processes should be automated, secure, and repeatable. This includes using CI/CD automation, automated configuration management, and automated deployment scripts. These processes help ensure that the application is built and deployed consistently and securely, reducing the risk of errors and vulnerabilities.
2930

30-
TBC
31+
### TASVS-CONF-1.2 - Verify that compiler flags are configured to enable all available buffer overflow protections and warnings, including stack randomization, data execution prevention, and to break the build if an unsafe pointer, memory, format string, integer, or string operations are found.
3132

32-
### TASVS-CONF-1.3
33+
Compiler flags should be configured to enable all available buffer overflow protections and warnings, including stack randomization, data execution prevention, and to break the build if an unsafe pointer, memory, format string, integer, or string operations are found. These protections help prevent common security vulnerabilities such as buffer overflows and format string vulnerabilities.
3334

34-
TBC
35+
### TASVS-CONF-1.3 - Verify that the application, configuration, and all dependencies can be re-deployed using automated deployment scripts, built from a documented and tested runbook in a reasonable time, or restored from backups in a timely fashion.
3536

36-
### TASVS-CONF-1.4
37+
The application, configuration, and all dependencies should be able to be re-deployed using automated deployment scripts, built from a documented and tested runbook in a reasonable time, or restored from backups in a timely fashion. This ensures that the application can be quickly restored in the event of a failure or disaster, reducing downtime and ensuring business continuity.
3738

38-
TBC
39+
### TASVS-CONF-1.4 - Verify that all unneeded features, documentation, sample applications and configurations are removed.
3940

40-
### TASVS-CONF-1.5
41+
Unneeded features, documentation, sample applications, and configurations should be removed from the application. This helps reduce the attack surface of the application, improve performance, and simplify maintenance. Removing unnecessary features also reduces the risk of security vulnerabilities and compliance issues.
4142

42-
TBC
43+
### TASVS-CONF-1.5 - Verify that third party components come from pre-defined, trusted and continually maintained repositories.
4344

44-
### TASVS-CONF-1.6
45+
Third-party components should come from pre-defined, trusted, and continually maintained repositories. This helps ensure that the components are secure, reliable, and up-to-date. Sourcing components from trusted repositories reduces the risk of introducing security vulnerabilities, malware, or other issues into the application.
4546

46-
TBC
47+
### TASVS-CONF-1.6 - Verify that a Software Bill of Materials (SBOM) is maintained of all third party libraries in use.
4748

48-
### TASVS-CONF-1.7
49-
50-
TBC
49+
A Software Bill of Materials (SBOM) should be maintained of all third-party libraries in use. An SBOM provides a detailed inventory of all software components used in the application, including third-party libraries, frameworks, and runtimes. This helps track dependencies, identify vulnerabilities, and ensure compliance with licensing requirements.
5150

5251

5352
\newpage{}

document/0.1/07-TASVS-CRYPTO.md

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
## Control Objective
44

5-
5+
Ensure that all cryptographic operations, including communication, storage, and general usage, adhere to current best practices and standards to maintain data confidentiality, integrity, and security.
66

77
## Testing Checklist
88

99
| TASVS-ID | Description | L1 | L2 | L3 |
1010
| ---- | ------------- | - | - | - |
1111
| TASVS-CRYPTO-1 | Communication | | | |
12-
| TASVS-CRYPTO-1.1 | The TLS settings are in line with current best practices, | X | X | X |
12+
| TASVS-CRYPTO-1.1 | The TLS settings are in line with current best practices. | X | X | X |
1313
| TASVS-CRYPTO-2 | Storage | | | |
1414
| TASVS-CRYPTO-2.1 | The thick client doesn't re-use the same cryptographic key for multiple purposes. | X | X | X |
1515
| TASVS-CRYPTO-2.2 | All random values are generated using a sufficiently secure random number generator. | X | X | X |
@@ -22,36 +22,37 @@
2222

2323
## Control Group Definitions
2424

25-
### TASVS-CRYPTO-1.1
26-
27-
TBC
25+
### *TASVS-CRYPTO-1 - Communication*
2826

29-
### TASVS-CRYPTO-2.1
27+
### TASVS-CRYPTO-1.1 - The TLS settings are in line with current best practices.
3028

31-
TBC
29+
TLS should be version 1.2 or higher, with secure cipher suites and secure configurations. This includes disabling insecure protocols and cipher suites, enabling Perfect Forward Secrecy (PFS), and using strong cryptographic algorithms. TLS should be configured to provide secure communication between the thick client and the server, protecting data confidentiality and integrity.
3230

33-
### TASVS-CRYPTO-2.2
31+
### TASVS-CRYPTO-2.1 - The thick client doesn't re-use the same cryptographic key for multiple purposes.
3432

35-
TBC
33+
Cryptographic keys should not be re-used for multiple purposes, as this can weaken the security of the encryption. Each key should be used for a specific purpose and should not be shared between different cryptographic operations. Re-using keys can increase the risk of key compromise and make it easier for attackers to decrypt sensitive data.
3634

37-
### TASVS-CRYPTO-2.3
35+
### TASVS-CRYPTO-2.2 - All random values are generated using a sufficiently secure random number generator.
3836

39-
TBC
37+
Random values should be generated using a secure random number generator (RNG) that provides sufficient entropy to ensure randomness and unpredictability. Insecure or predictable random values can weaken the security of cryptographic operations and make it easier for attackers to guess or manipulate sensitive data.
4038

41-
### TASVS-CRYPTO-2.4
39+
### TASVS-CRYPTO-2.3 - The thick client does not use cryptographic protocols or algorithms that are widely considered deprecated for security purposes.
4240

43-
TBC
41+
Cryptographic protocols and algorithms that are widely considered deprecated or insecure should not be used in the thick client. This includes algorithms with known vulnerabilities, weak key lengths, or insecure modes of operation.
4442

45-
### TASVS-CRYPTO-3.1
43+
### TASVS-CRYPTO-2.4 - The thick client does not rely on symmetric cryptography with hardcoded keys as a sole method of encryption.
4644

47-
TBC
45+
Symmetric cryptography should not rely on hardcoded keys as the sole method of encryption in the thick client. Hardcoded keys can be easily extracted by attackers and used to decrypt sensitive data. Instead, cryptographic keys should be securely managed, stored, and protected to ensure the confidentiality and integrity of the encryption.
4846

49-
### TASVS-CRYPTO-3.2
47+
### *TASVS-CRYPTO-3 - General*
5048

51-
TBC
49+
### 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.
5250

51+
Cryptographic modules should fail securely and handle errors in a way that does not enable Padding Oracle attacks. Error handling should be implemented securely to prevent attackers from exploiting vulnerabilities in the encryption and decryption process.
5352

53+
### TASVS-CRYPTO-3.2 - Verify that industry proven or government approved cryptographic algorithms, modes, and libraries are used, instead of custom coded cryptography.
5454

55+
Industry-proven or government-approved cryptographic algorithms, modes, and libraries should be used in the thick client instead of custom-coded cryptography. Using standardized cryptographic algorithms and libraries helps ensure the security and reliability of the encryption, as these algorithms have been rigorously tested and validated by security experts.
5556

5657

5758
\newpage{}

0 commit comments

Comments
 (0)