Skip to content

Commit 3821b5a

Browse files
committed
Merge branch 'hotfix/2.4.1'
2 parents 0e1e2cf + 48bc2dd commit 3821b5a

9 files changed

+52
-50
lines changed

Diff for: VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.4.0
1+
2.4.1

Diff for: editions/2023/en/0xa6-unrestricted-access-to-sensitive-business-flows.md

+18-17
Original file line numberDiff line numberDiff line change
@@ -77,23 +77,24 @@ The mitigation planning should be done in two layers:
7777
* Engineering - choose the right protection mechanisms to mitigate the business
7878
risk.
7979

80-
Some of the protection mechanisms are more simple while others are more
81-
difficult to implement. The following methods are used to slow down automated
82-
threats:
83-
84-
* Device fingerprinting: denying service to unexpected client devices (e.g
85-
headless browsers) tends to make threat actors use more sophisticated
86-
solutions, thus more costly for them
87-
* Human detection: using either captcha or more advanced biometric solutions
88-
(e.g. typing patterns)
89-
* Non-human patterns: analyze the user flow to detect non-human patterns (e.g.
90-
the user accessed the "add to cart" and "complete purchase" functions in
91-
less than one second)
92-
* Consider blocking IP addresses of Tor exit nodes and well-known proxies
93-
94-
Secure and limit access to APIs that are consumed directly by machines (such
95-
as developer and B2B APIs). They tend to be an easy target for attackers
96-
because they often don't implement all the required protection mechanisms.
80+
Some of the protection mechanisms are more simple while others are more
81+
difficult to implement. The following methods are used to slow down
82+
automated
83+
threats:
84+
85+
* Device fingerprinting: denying service to unexpected client devices (e.g
86+
headless browsers) tends to make threat actors use more sophisticated
87+
solutions, thus more costly for them
88+
* Human detection: using either captcha or more advanced biometric solutions
89+
(e.g. typing patterns)
90+
* Non-human patterns: analyze the user flow to detect non-human patterns
91+
(e.g. the user accessed the "add to cart" and "complete purchase"
92+
functions in less than one second)
93+
* Consider blocking IP addresses of Tor exit nodes and well-known proxies
94+
95+
Secure and limit access to APIs that are consumed directly by machines (such
96+
as developer and B2B APIs). They tend to be an easy target for attackers
97+
because they often don't implement all the required protection mechanisms.
9798

9899
## References
99100

Diff for: editions/2023/en/0xa7-server-side-request-forgery.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,10 @@ can view the credentials of the cloud environment.
132132
* Isolate the resource fetching mechanism in your network: usually these
133133
features are aimed to retrieve remote resources and not internal ones.
134134
* Whenever possible, use allow lists of:
135-
* Remote origins users are expected to download resources from (e.g. Google
136-
Drive, Gravatar, etc.)
137-
* URL schemes and ports
138-
* Accepted media types for a given functionality
135+
* Remote origins users are expected to download resources from (e.g. Google
136+
Drive, Gravatar, etc.)
137+
* URL schemes and ports
138+
* Accepted media types for a given functionality
139139
* Disable HTTP redirections.
140140
* Use a well-tested and maintained URL parser to avoid issues caused by URL
141141
parsing inconsistencies.

Diff for: editions/2023/en/0xa8-security-misconfiguration.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ Furthermore:
8181
HTTP verbs should be disabled (e.g. HEAD).
8282
* APIs expecting to be accessed from browser-based clients (e.g., WebApp
8383
front-end) should, at least:
84-
* implement a proper Cross-Origin Resource Sharing (CORS) policy
85-
* include applicable Security Headers
84+
* implement a proper Cross-Origin Resource Sharing (CORS) policy
85+
* include applicable Security Headers
8686
* Restrict incoming content types/data formats to those that meet the business/
8787
functional requirements.
8888
* Ensure all servers in the HTTP server chain (e.g. load balancers, reverse

Diff for: editions/2023/en/0xa9-improper-inventory-management.md

+8-9
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@ An API has a "<ins>documentation blindspot</ins>" if:
1919

2020
* The purpose of an API host is unclear, and there are no explicit answers to
2121
the following questions
22-
* Which environment is the API running in (e.g. production, staging, test,
23-
development)?
24-
* Who should have network access to the API (e.g. public, internal, partners)?
25-
* Which API version is running?
22+
* Which environment is the API running in (e.g. production, staging, test,
23+
development)?
24+
* Who should have network access to the API (e.g. public, internal,
25+
partners)?
26+
* Which API version is running?
2627
* There is no documentation or the existing documentation is not updated.
2728
* There is no retirement plan for each API version.
2829
* The host's inventory is missing or outdated.
@@ -35,10 +36,9 @@ An API has a "<ins>data flow blindspot</ins>" if:
3536

3637
* There is a "sensitive data flow" where the API shares sensitive data with a
3738
third party and
38-
* There is not a business justification or approval of the flow
39-
* There is no inventory or visibility of the flow
40-
* There is not deep visibility of which type of sensitive data is shared
41-
39+
* There is not a business justification or approval of the flow
40+
* There is no inventory or visibility of the flow
41+
* There is not deep visibility of which type of sensitive data is shared
4242

4343
## Example Attack Scenarios
4444

@@ -95,7 +95,6 @@ sells the information for malicious purposes.
9595
breaking API compatibility or if you need to take the older version out
9696
quickly and force all clients to move to the latest version.
9797

98-
9998
## References
10099

101100
### External

Diff for: editions/2023/fr/0xa6-unrestricted-access-to-sensitive-business-flows.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@ La planification de mitigation doit être effectuée en deux couches :
5353
* Business - identifier les flux commerciaux qui pourraient nuire à l'entreprise s'ils "taient utilisés de manière excessive.
5454
* Ingénierie - choisir les bons mécanismes de protection pour atténuer le risque commercial.
5555

56-
Certains mécanismes de protection sont plus simples tandis que d'autres sont plus difficiles à mettre en œuvre. Les méthodes suivantes sont utilisées pour ralentir les menaces automatisées :
56+
Certains mécanismes de protection sont plus simples tandis que d'autres sont plus difficiles à mettre en œuvre. Les méthodes suivantes sont utilisées pour ralentir les menaces automatisées :
5757

58-
* Empreinte de l'appareil : refuser le service aux appareils clients inattendus (par exemple, les navigateurs sans interface graphique) tend à inciter les acteurs malveillants à utiliser des solutions plus sophistiquées, donc plus coûteuses pour eux
59-
* Détection humaine : utiliser soit un captcha, soit des solutions biométriques plus avancées (par exemple : biométrie par modèles de frappe)
60-
* Modèles non humains : analyser le flux de l'utilisateur pour détecter les modèles non humains (par exemple, l'utilisateur a accédé aux fonctions "ajouter au panier" et "compléter l'achat" en moins d'une seconde)
61-
* Considérer le blocage des adresses IP des nœuds de sortie Tor et des proxies bien connus
58+
* Empreinte de l'appareil : refuser le service aux appareils clients inattendus (par exemple, les navigateurs sans interface graphique) tend à inciter les acteurs malveillants à utiliser des solutions plus sophistiquées, donc plus coûteuses pour eux
59+
* Détection humaine : utiliser soit un captcha, soit des solutions biométriques plus avancées (par exemple : biométrie par modèles de frappe)
60+
* Modèles non humains : analyser le flux de l'utilisateur pour détecter les modèles non humains (par exemple, l'utilisateur a accédé aux fonctions "ajouter au panier" et "compléter l'achat" en moins d'une seconde)
61+
* Considérer le blocage des adresses IP des nœuds de sortie Tor et des proxies bien connus
6262

63-
Sécurisez et limitez l'accès aux API qui sont consommées directement par des machines (comme les API de développeur et B2B). Elles sont souvent une cible facile pour les attaquants car elles n'implémentent souvent pas tous les mécanismes de protection nécessaires.
63+
Sécurisez et limitez l'accès aux API qui sont consommées directement par des machines (comme les API de développeur et B2B). Elles sont souvent une cible facile pour les attaquants car elles n'implémentent souvent pas tous les mécanismes de protection nécessaires.
6464

6565
## Références
6666

Diff for: editions/2023/fr/0xa7-server-side-request-forgery.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,9 @@ Puisque l'application affiche la réponse de la requête de test, l'attaquant pe
110110

111111
* Isoler le mécanisme de récupération des ressources dans votre réseau : ces fonctionnalités sont généralement destinées à récupérer des ressources distantes et non internes.
112112
* Chaque fois que possible, utilisez des listes d'autorisation :
113-
* Les origines distantes à partir desquelles les utilisateurs sont censés télécharger des ressources (par exemple, Google Drive, Gravatar, etc.)
114-
* Les schémas d'URL et les ports
115-
* Les types de médias acceptés pour une fonctionnalité donnée
113+
* Les origines distantes à partir desquelles les utilisateurs sont censés télécharger des ressources (par exemple, Google Drive, Gravatar, etc.)
114+
* Les schémas d'URL et les ports
115+
* Les types de médias acceptés pour une fonctionnalité donnée
116116
* Désactivez les redirections HTTP.
117117
* Utilisez un analyseur d'URL bien testé et maintenu pour éviter les problèmes causés par des incohérences d'analyse d'URL.
118118
* Validez et assainissez toutes les données d'entrée fournies par le client.

Diff for: editions/2023/fr/0xa8-security-misconfiguration.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ De plus :
5656
* Assurez-vous que toutes les communications API du client vers le serveur API et tout composant en aval/amont se font sur un canal de communication chiffré (TLS), qu'il s'agisse d'une API interne ou publique.
5757
* Soyez spécifique sur les verbes HTTP par lesquels chaque API peut être accédée : tous les autres verbes HTTP devraient être désactivés (par exemple, HEAD).
5858
* Les API s'attendant à être accessibles depuis des clients basés sur un navigateur (par exemple, une interface WebApp) devraient, au moins :
59-
* implémenter une politique Cross-Origin Resource Sharing (CORS) appropriée
60-
* inclure les en-têtes de sécurité applicables
59+
* implémenter une politique Cross-Origin Resource Sharing (CORS) appropriée
60+
* inclure les en-têtes de sécurité applicables
6161
* Restreignez les types de contenu/format de données entrants à ceux qui répondent aux exigences commerciales/fonctionnelles.
6262
* Assurez-vous que tous les serveurs dans la chaîne du serveur HTTP (par exemple, les équilibreurs de charge, les proxies et les proxies inverses, ainsi que les serveurs back-end) traitent les requêtes entrantes de manière uniforme pour éviter les problèmes de désynchronisation.
6363
* Lorsque cela est applicable, définissez et appliquez tous les schémas de charge utile de réponse API, y compris les réponses d'erreur, pour empêcher les traces d'exception et d'autres informations précieuses d'être renvoyées aux attaquants.

Diff for: editions/2023/fr/0xa9-improper-inventory-management.md

+8-6
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,23 @@ Les API modernes sont souvent exposées à des risques de sécurité en raison d
1212
Faire fonctionner plusieurs versions d'une API nécessite des ressources de gestion supplémentaires de la part du fournisseur de l'API et augmente la surface d'attaque.
1313

1414
Une API a un "<ins>angle mort de la documentation</ins>" si :
15+
1516
* Le but de l'hôte de l'API n'est pas clair, et il n'y a pas de réponses explicites aux questions suivantes
16-
* Dans quel environnement l'API fonctionne-t-elle (par exemple, production, staging, test, développement) ?
17-
* Qui devrait avoir accès au réseau de l'API (par exemple, public, interne, partenaires) ?
18-
* Quelle version de l'API est en cours d'exécution ?
17+
* Dans quel environnement l'API fonctionne-t-elle (par exemple, production, staging, test, développement) ?
18+
* Qui devrait avoir accès au réseau de l'API (par exemple, public, interne, partenaires) ?
19+
* Quelle version de l'API est en cours d'exécution ?
1920
* Il n'y a pas de documentation ou la documentation existante n'est pas mise à jour.
2021
* Il n'y a pas de plan de retraite pour chaque version de l'API.
2122
* L'inventaire de l'hôte est manquant ou obsolète.
2223

2324
La visibilité et l'inventaire des flux de données sensibles jouent un rôle important dans le cadre d'un plan de réponse aux incidents, au cas où une violation se produirait du côté du tiers.
2425

2526
Une API a un "<ins>angle mort du flux de données</ins>" si :
27+
2628
* Il y a un "flux de données sensible" où l'API partage des données sensibles avec un tiers et
27-
* Il n'y a pas de justification commerciale ou d'approbation du flux
28-
* Il n'y a pas d'inventaire ou de visibilité du flux
29-
* Il n'y a pas de visibilité approfondie sur le type de données sensibles partagées
29+
* Il n'y a pas de justification commerciale ou d'approbation du flux
30+
* Il n'y a pas d'inventaire ou de visibilité du flux
31+
* Il n'y a pas de visibilité approfondie sur le type de données sensibles partagées
3032

3133

3234
## Exemple de scénarios d'attaque

0 commit comments

Comments
 (0)