Skip to content

Commit b729c9d

Browse files
authored
Regresar archivos ORIGINALES
Regresar archivos ORIGINALES index.md info.md leaders.md tab_example.md
1 parent 158bbfc commit b729c9d

File tree

4 files changed

+52
-266
lines changed

4 files changed

+52
-266
lines changed

index.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
---
2-
3-
layout: col-sidebar
4-
title: OWASP Randomized Header Channel for CSRF Protection
5-
tags: example-tag
6-
level: 2
7-
type: documentation
8-
pitch: A very brief, one-line description of your project
9-
10-
---
11-
12-
This project proposes a security technique titled “Randomized Header Channel for CSRF Protection”. It introduces unpredictability in CSRF token transmission by rotating between multiple valid headers per request, making attacks like interception, automation, or replay significantly harder.
13-
14-
The idea was originally developed in Spanish and translated into English for community review. The method was designed during the development of a real-world SaaS platform and has practical application in JWT-based systems and modern distributed architectures.
15-
16-
I hope this can be a valuable contribution to the OWASP community, especially in the areas of token-based authentication and request integrity.
17-
18-
### Road Map
19-
1.- Submit idea for review.
20-
2.- Collect feedback from OWASP community.
21-
3.- Adjust documentation if needed and add implementation examples.
22-
4.- Publish and maintain the project as open security documentation.
1+
---
2+
3+
layout: col-sidebar
4+
title: OWASP Randomized Header Channel for CSRF Protection
5+
tags: example-tag
6+
level: 2
7+
type: documentation
8+
pitch: A very brief, one-line description of your project
9+
10+
---
11+
12+
This project proposes a security technique titled “Randomized Header Channel for CSRF Protection”. It introduces unpredictability in CSRF token transmission by rotating between multiple valid headers per request, making attacks like interception, automation, or replay significantly harder.
13+
14+
The idea was originally developed in Spanish and translated into English for community review. The method was designed during the development of a real-world SaaS platform and has practical application in JWT-based systems and modern distributed architectures.
15+
16+
I hope this can be a valuable contribution to the OWASP community, especially in the areas of token-based authentication and request integrity.
17+
18+
### Road Map
19+
1.- Submit idea for review.
20+
2.- Collect feedback from OWASP community.
21+
3.- Adjust documentation if needed and add implementation examples.
22+
4.- Publish and maintain the project as open security documentation.

info.md

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
1-
### Randomized Header Channel for CSRF Protection — Information
2-
* **Project Stage:** Incubator
3-
* **Project Type:** [Security Documentation](https://github.com/OWASP/www-project-randomized-header-channel-for-csrf-protection/blob/main/docs/overview.md)
4-
* **Current Version:** [1.0.0](https://github.com/OWASP/www-project-randomized-header-channel-for-csrf-protection/blob/main/VERSION.md)
5-
* **Focus Areas:** [CSRF Protection, Token Integrity, Request Hardening](https://github.com/OWASP/www-project-randomized-header-channel-for-csrf-protection/blob/main/docs/methodology.md)
6-
* **Builder Profile**: [View](#)
7-
* **Breaker Profile**: [View](#)
8-
* **PSR-15 Middleware (Documentation & Code)**: (coming soon)
9-
10-
### Downloads or Social Links
11-
* [Project Documentation](https://github.com/OWASP/www-project-randomized-header-channel-for-csrf-protection/tree/main/docs)
12-
* [Community Discussions](https://github.com/OWASP/www-project-randomized-header-channel-for-csrf-protection/graphs/community)
13-
* [Related Research](https://github.com/OWASP/www-project-randomized-header-channel-for-csrf-protection/blob/main/docs/references.md)
14-
* [Conceptual Framework](https://github.com/OWASP/www-project-randomized-header-channel-for-csrf-protection/blob/main/docs/conceptual/marco_conceptual_rhc.md)
15-
* [Examples & Code (ZIP)](https://codeload.github.com/OWASP/www-project-randomized-header-channel-for-csrf-protection/zip/refs/heads/main)
16-
17-
### Code Repository
18-
* [GitHub Repository](https://github.com/OWASP/www-project-randomized-header-channel-for-csrf-protection)
19-
20-
### Change Log
21-
* [View Changes](https://github.com/OWASP/www-project-randomized-header-channel-for-csrf-protection/pulse)
1+
### Randomized Header Channel for CSRF Protection Information
2+
* [Incubator Project](#)
3+
* [Type of Project](#)
4+
* [Version 0.0.0](#)
5+
* [Builder](#)
6+
* [Breaker](#)
7+
8+
### Downloads or Social Links
9+
* [Download](#)
10+
* [Meetup](#)
11+
12+
### Code Repository
13+
* [repo](#)
14+
15+
### Change Log
16+
* [changes](#)
17+

leaders.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
### Leaders
2-
* [Fernando Flores Alvarado](mailto:[email protected])
1+
### Leaders
2+
* [Fernando Flores Alvarado](mailto:[email protected])

tab_example.md

Lines changed: 11 additions & 221 deletions
Original file line numberDiff line numberDiff line change
@@ -1,221 +1,11 @@
1-
---
2-
title: Example
3-
layout: null
4-
tab: true
5-
order: 1
6-
tags: architecture diagrams examples
7-
---
8-
9-
# Architecture & Examples
10-
11-
Este archivo contiene **todos los ejemplos oficiales**, incluyendo los **4 niveles del RHC**, fragmentos HTTP, diagramas y flujos.
12-
13-
---
14-
15-
# 🔷 Nivel 1 — *Dispersión Aleatoria* (Dispersión Aleatoria)
16-
El cliente utiliza una tabla con encabezados válidos definida desde el inicio y un solo token CSRF generado por el servidor.
17-
18-
### **Flujo**
19-
1. El servidor publica una tabla fija: `H1, H2, H3`.
20-
2. El cliente selecciona un header al azar.
21-
3. El token CSRF se inserta en ese header.
22-
4. El servidor valida el header y el token.
23-
24-
### **Ejemplo HTTP**
25-
```http
26-
POST /v1/transfer
27-
X-RHC-Header-2: 6F8dP2sQ9RmC1aZ7Xh4K
28-
Content-Type: application/json
29-
```
30-
31-
---
32-
33-
# 🔷 Nivel 2 — *Dual Entrop* (Dual Entrop)
34-
El cliente utiliza una tabla con encabezados válidos y tres tokens CSRF, donde en cada ciclo se elige:
35-
36-
- un header al azar
37-
- un token CSRF al azar
38-
39-
### **Flujo**
40-
1. El servidor publica una tabla fija: `H1, H2, H3`.
41-
2. El cliente selecciona un header al azar.
42-
3. El cliente selecciona uno de los 3 tokens CSRF al azar.
43-
4. El token se inserta en ese header.
44-
5. El servidor valida el header y el token.
45-
46-
### **Ejemplo HTTP**
47-
```http
48-
POST /v1/payments
49-
X-RHC-Header-3: Zp7Qm4Ay81FsK9TdHr6W
50-
Content-Type: application/json
51-
```
52-
53-
---
54-
55-
# 🔷 Nivel 3 — *Entropía Variable* (Entropía Variable)
56-
El cliente utiliza encabezados válidos como en los niveles anteriores, pero los tokens CSRF tienen longitudes y codificaciones variables, lo que incrementa la entropía real.
57-
58-
### **Flujo**
59-
1. El servidor publica una tabla fija: `H1, H2, H3`.
60-
2. El cliente selecciona un header al azar.
61-
3. El cliente selecciona un token CSRF al azar (longitud variable).
62-
4. El token se inserta en ese header.
63-
5. El servidor valida el header y el token.
64-
65-
### **Ejemplo 1 HTTP** **** *Token largo*
66-
```http
67-
POST /v1/payments
68-
X-CSRF-H3: qP4fA1wZ9kT7mB3sJ2uR8hX0VyM5nLgC
69-
Content-Type: application/json
70-
```
71-
72-
### **Ejemplo 2 HTTP** **** *Token Mediano*
73-
```http
74-
POST /v1/payments
75-
X-CSRF-H1: 73sPqr52WbKJgA4cL3sPYv
76-
Content-Type: application/json
77-
```
78-
79-
### **Ejemplo 3 HTTP** **** *Token Corto*
80-
```http
81-
POST /v1/payments
82-
X-CSRF-H2: fQ9dL7xS1mA4
83-
Content-Type: application/json
84-
```
85-
86-
---
87-
88-
# 🔷 Nivel 4 — *Dynamic Adaptive RHC* (Canal Adaptativo Dinámico)
89-
El **Nivel 4** es la versión más avanzada del RHC. No es solo un grupo de headers: es un **canal vivo**, dinámico y adaptativo.
90-
91-
Supera los niveles previos mediante:
92-
- rotación dinámica de encabezados válidos
93-
- señuelos activos con ruido estadístico
94-
- filtros adaptativos según contexto
95-
- canal que muta según condiciones externas
96-
- dispersión y ruido útil
97-
- protección contra correlación predictiva
98-
99-
Es el primer nivel **no-determinista**, imposible de resolver por análisis estático o fuerza bruta tradicional.
100-
101-
El servidor utiliza **filtros adaptativos** que reconocen los headers correctos e ignoran decoys.
102-
103-
## 🧬 Principio del Nivel 4
104-
> **“El canal RHC ya no es un conjunto de encabezados: es un organismo.”**
105-
106-
---
107-
108-
## ✔ 1. Headers válidos dinámicos (N por ciclo)
109-
De una lista total, se eligen **N headers válidos** que cambian por ciclo según:
110-
- carga (PoC)
111-
- tiempo
112-
- endpoint
113-
- intentos fallidos
114-
- comportamiento del cliente
115-
116-
---
117-
118-
## ✔ 2. Headers señuelo (Decoys) con ruido útil
119-
- Parecen legítimos
120-
- No se distinguen externamente
121-
- El servidor sí puede identificarlos
122-
- Pueden rotar o mutar
123-
124-
---
125-
126-
## ✔ 3. Filtro adaptativo del servidor
127-
Cambia su respuesta según:
128-
- carga (PoC)
129-
- IP o fingerprint
130-
- número de fallos
131-
- endpoint
132-
- nivel del recurso
133-
- hora del día
134-
135-
El mismo cliente puede recibir escenarios distintos.
136-
137-
---
138-
139-
## ✔ 4. Dynamic Channel Rotation (DCR)
140-
La rotación puede dispararse por:
141-
- intentos fallidos
142-
- métricas de entropía
143-
- ruido
144-
- tiempo
145-
146-
Una rotación invalida:
147-
- tokens
148-
- headers válidos
149-
- disposición interna del canal
150-
151-
---
152-
153-
## ✔ 5. Entropía multifactor
154-
| Factor | Origen |
155-
|--------|--------|
156-
| Encabezados válidos | Rotados dinámicamente |
157-
| Tokens | Longitud variable |
158-
| Decoys | Ruido estadístico |
159-
| Ruido útil | Dispersión |
160-
| Distribución | Anti-correlación |
161-
| Filtro adaptativo | Contextual |
162-
163-
El atacante NO puede crear correlación estable.
164-
165-
---
166-
167-
## ✔ 6. Reacción autónoma (Defense Reflex)
168-
### PoC:
169-
- decoys fijos
170-
- longitudes dinámicas
171-
- headers válidos fijos
172-
- dispersión fija
173-
174-
### Implementación real:
175-
- aumentar decoys ante sospecha
176-
- modificar longitudes de token
177-
- reducir headers válidos
178-
- aumentar dispersión
179-
- posible: cerrar canal temporalmente
180-
181-
---
182-
183-
### **Ejemplo HTTP**
184-
```http
185-
POST /v1/identity/update
186-
X-RHC-H1: Cf9Gx2A7tPqLs91kZb3uQm4NsyW86Rhv ← decoy
187-
X-RHC-H4: TmQ8yLr29FvS13KpWg5aXb7cN0HqD4Mt ← token real (ciclo actual)
188-
X-RHC-H6: qP4fA1wZ9kT7mB3sJ2uR8hX0VyM5nLgC ← decoy
189-
X-RHC-H2: mD73sPq18YvHr52WbKx9Rf0tJgA4cLzE ← decoy
190-
X-RHC-H5: R9tK0wLh6BfP2uS3nQ7vX1cZpM4eD8Yr ← token real (ciclo actual)
191-
X-RHC-H7: Zk5Pq1Nf8GyA7uT4wE9bC3hL0sV6mJdR ← decoy
192-
X-RHC-H3: Hc8Lx4Vw1SgD9pQ2tR3mF6aYkB0uZ7Jn ← decoy
193-
X-RHC-H8: F2aQp8Vx3WnL7rC1bS9uH4kD0M5tJ6Gz ← token real (ciclo actual)
194-
X-RHC-H9: yN1rT5mP8bQ4vS2kJ6aW9gF3D0xH7LzC ← decoy
195-
Content-Type: application/json
196-
```
197-
198-
---
199-
200-
# 📊 Diagrams
201-
Consulta los diagramas completos en:
202-
- `/docs/architecture.md`
203-
- `/docs/conceptual/marco_conceptual_rhc.md`
204-
205-
---
206-
207-
# 📦 Additional Examples
208-
### **PSR‑15 Middleware**
209-
Validación automática del header + token + timestamp.
210-
211-
### **Node.js Microservice Adapter**
212-
Implementación para entornos distribuidos.
213-
214-
### **Header Fuzzing Test Cases**
215-
Pruebas de:
216-
- colisiones
217-
- predicción adversaria
218-
- entropía efectiva
219-
- canales paralelos
220-
221-
---
1+
---
2+
title: Example
3+
layout: null
4+
tab: true
5+
order: 1
6+
tags: example-tag
7+
---
8+
9+
## Example
10+
11+
Put whatever you like here: news, screenshots, features, supporters, or remove this file and don't use tabs at all.

0 commit comments

Comments
 (0)